Lines Matching refs:S

22 template <class S>
24 test(S s, typename S::size_type pos, typename S::size_type n1, in test()
25 const typename S::value_type* str, typename S::size_type n2, in test()
26 S expected) in test()
28 const typename S::size_type old_size = s.size(); in test()
29 S s0 = s; in test()
35 typename S::size_type xlen = std::min(n1, old_size - pos); in test()
36 typename S::size_type rlen = n2; in test()
56 template <class S>
59 test(S(""), 0, 0, "", 0, S("")); in test0()
60 test(S(""), 0, 0, "12345", 0, S("")); in test0()
61 test(S(""), 0, 0, "12345", 1, S("1")); in test0()
62 test(S(""), 0, 0, "12345", 2, S("12")); in test0()
63 test(S(""), 0, 0, "12345", 4, S("1234")); in test0()
64 test(S(""), 0, 0, "12345", 5, S("12345")); in test0()
65 test(S(""), 0, 0, "1234567890", 0, S("")); in test0()
66 test(S(""), 0, 0, "1234567890", 1, S("1")); in test0()
67 test(S(""), 0, 0, "1234567890", 5, S("12345")); in test0()
68 test(S(""), 0, 0, "1234567890", 9, S("123456789")); in test0()
69 test(S(""), 0, 0, "1234567890", 10, S("1234567890")); in test0()
70 test(S(""), 0, 0, "12345678901234567890", 0, S("")); in test0()
71 test(S(""), 0, 0, "12345678901234567890", 1, S("1")); in test0()
72 test(S(""), 0, 0, "12345678901234567890", 10, S("1234567890")); in test0()
73 test(S(""), 0, 0, "12345678901234567890", 19, S("1234567890123456789")); in test0()
74 test(S(""), 0, 0, "12345678901234567890", 20, S("12345678901234567890")); in test0()
75 test(S(""), 0, 1, "", 0, S("")); in test0()
76 test(S(""), 0, 1, "12345", 0, S("")); in test0()
77 test(S(""), 0, 1, "12345", 1, S("1")); in test0()
78 test(S(""), 0, 1, "12345", 2, S("12")); in test0()
79 test(S(""), 0, 1, "12345", 4, S("1234")); in test0()
80 test(S(""), 0, 1, "12345", 5, S("12345")); in test0()
81 test(S(""), 0, 1, "1234567890", 0, S("")); in test0()
82 test(S(""), 0, 1, "1234567890", 1, S("1")); in test0()
83 test(S(""), 0, 1, "1234567890", 5, S("12345")); in test0()
84 test(S(""), 0, 1, "1234567890", 9, S("123456789")); in test0()
85 test(S(""), 0, 1, "1234567890", 10, S("1234567890")); in test0()
86 test(S(""), 0, 1, "12345678901234567890", 0, S("")); in test0()
87 test(S(""), 0, 1, "12345678901234567890", 1, S("1")); in test0()
88 test(S(""), 0, 1, "12345678901234567890", 10, S("1234567890")); in test0()
89 test(S(""), 0, 1, "12345678901234567890", 19, S("1234567890123456789")); in test0()
90 test(S(""), 0, 1, "12345678901234567890", 20, S("12345678901234567890")); in test0()
91 test(S(""), 1, 0, "", 0, S("can't happen")); in test0()
92 test(S(""), 1, 0, "12345", 0, S("can't happen")); in test0()
93 test(S(""), 1, 0, "12345", 1, S("can't happen")); in test0()
94 test(S(""), 1, 0, "12345", 2, S("can't happen")); in test0()
95 test(S(""), 1, 0, "12345", 4, S("can't happen")); in test0()
96 test(S(""), 1, 0, "12345", 5, S("can't happen")); in test0()
97 test(S(""), 1, 0, "1234567890", 0, S("can't happen")); in test0()
98 test(S(""), 1, 0, "1234567890", 1, S("can't happen")); in test0()
99 test(S(""), 1, 0, "1234567890", 5, S("can't happen")); in test0()
100 test(S(""), 1, 0, "1234567890", 9, S("can't happen")); in test0()
101 test(S(""), 1, 0, "1234567890", 10, S("can't happen")); in test0()
102 test(S(""), 1, 0, "12345678901234567890", 0, S("can't happen")); in test0()
103 test(S(""), 1, 0, "12345678901234567890", 1, S("can't happen")); in test0()
104 test(S(""), 1, 0, "12345678901234567890", 10, S("can't happen")); in test0()
105 test(S(""), 1, 0, "12345678901234567890", 19, S("can't happen")); in test0()
106 test(S(""), 1, 0, "12345678901234567890", 20, S("can't happen")); in test0()
107 test(S("abcde"), 0, 0, "", 0, S("abcde")); in test0()
108 test(S("abcde"), 0, 0, "12345", 0, S("abcde")); in test0()
109 test(S("abcde"), 0, 0, "12345", 1, S("1abcde")); in test0()
110 test(S("abcde"), 0, 0, "12345", 2, S("12abcde")); in test0()
111 test(S("abcde"), 0, 0, "12345", 4, S("1234abcde")); in test0()
112 test(S("abcde"), 0, 0, "12345", 5, S("12345abcde")); in test0()
113 test(S("abcde"), 0, 0, "1234567890", 0, S("abcde")); in test0()
114 test(S("abcde"), 0, 0, "1234567890", 1, S("1abcde")); in test0()
115 test(S("abcde"), 0, 0, "1234567890", 5, S("12345abcde")); in test0()
116 test(S("abcde"), 0, 0, "1234567890", 9, S("123456789abcde")); in test0()
117 test(S("abcde"), 0, 0, "1234567890", 10, S("1234567890abcde")); in test0()
118 test(S("abcde"), 0, 0, "12345678901234567890", 0, S("abcde")); in test0()
119 test(S("abcde"), 0, 0, "12345678901234567890", 1, S("1abcde")); in test0()
120 test(S("abcde"), 0, 0, "12345678901234567890", 10, S("1234567890abcde")); in test0()
121 test(S("abcde"), 0, 0, "12345678901234567890", 19, S("1234567890123456789abcde")); in test0()
122 test(S("abcde"), 0, 0, "12345678901234567890", 20, S("12345678901234567890abcde")); in test0()
123 test(S("abcde"), 0, 1, "", 0, S("bcde")); in test0()
124 test(S("abcde"), 0, 1, "12345", 0, S("bcde")); in test0()
125 test(S("abcde"), 0, 1, "12345", 1, S("1bcde")); in test0()
126 test(S("abcde"), 0, 1, "12345", 2, S("12bcde")); in test0()
127 test(S("abcde"), 0, 1, "12345", 4, S("1234bcde")); in test0()
128 test(S("abcde"), 0, 1, "12345", 5, S("12345bcde")); in test0()
129 test(S("abcde"), 0, 1, "1234567890", 0, S("bcde")); in test0()
130 test(S("abcde"), 0, 1, "1234567890", 1, S("1bcde")); in test0()
131 test(S("abcde"), 0, 1, "1234567890", 5, S("12345bcde")); in test0()
132 test(S("abcde"), 0, 1, "1234567890", 9, S("123456789bcde")); in test0()
133 test(S("abcde"), 0, 1, "1234567890", 10, S("1234567890bcde")); in test0()
134 test(S("abcde"), 0, 1, "12345678901234567890", 0, S("bcde")); in test0()
135 test(S("abcde"), 0, 1, "12345678901234567890", 1, S("1bcde")); in test0()
136 test(S("abcde"), 0, 1, "12345678901234567890", 10, S("1234567890bcde")); in test0()
137 test(S("abcde"), 0, 1, "12345678901234567890", 19, S("1234567890123456789bcde")); in test0()
138 test(S("abcde"), 0, 1, "12345678901234567890", 20, S("12345678901234567890bcde")); in test0()
139 test(S("abcde"), 0, 2, "", 0, S("cde")); in test0()
140 test(S("abcde"), 0, 2, "12345", 0, S("cde")); in test0()
141 test(S("abcde"), 0, 2, "12345", 1, S("1cde")); in test0()
142 test(S("abcde"), 0, 2, "12345", 2, S("12cde")); in test0()
143 test(S("abcde"), 0, 2, "12345", 4, S("1234cde")); in test0()
144 test(S("abcde"), 0, 2, "12345", 5, S("12345cde")); in test0()
145 test(S("abcde"), 0, 2, "1234567890", 0, S("cde")); in test0()
146 test(S("abcde"), 0, 2, "1234567890", 1, S("1cde")); in test0()
147 test(S("abcde"), 0, 2, "1234567890", 5, S("12345cde")); in test0()
148 test(S("abcde"), 0, 2, "1234567890", 9, S("123456789cde")); in test0()
149 test(S("abcde"), 0, 2, "1234567890", 10, S("1234567890cde")); in test0()
150 test(S("abcde"), 0, 2, "12345678901234567890", 0, S("cde")); in test0()
151 test(S("abcde"), 0, 2, "12345678901234567890", 1, S("1cde")); in test0()
152 test(S("abcde"), 0, 2, "12345678901234567890", 10, S("1234567890cde")); in test0()
153 test(S("abcde"), 0, 2, "12345678901234567890", 19, S("1234567890123456789cde")); in test0()
154 test(S("abcde"), 0, 2, "12345678901234567890", 20, S("12345678901234567890cde")); in test0()
155 test(S("abcde"), 0, 4, "", 0, S("e")); in test0()
156 test(S("abcde"), 0, 4, "12345", 0, S("e")); in test0()
157 test(S("abcde"), 0, 4, "12345", 1, S("1e")); in test0()
158 test(S("abcde"), 0, 4, "12345", 2, S("12e")); in test0()
161 template <class S>
164 test(S("abcde"), 0, 4, "12345", 4, S("1234e")); in test1()
165 test(S("abcde"), 0, 4, "12345", 5, S("12345e")); in test1()
166 test(S("abcde"), 0, 4, "1234567890", 0, S("e")); in test1()
167 test(S("abcde"), 0, 4, "1234567890", 1, S("1e")); in test1()
168 test(S("abcde"), 0, 4, "1234567890", 5, S("12345e")); in test1()
169 test(S("abcde"), 0, 4, "1234567890", 9, S("123456789e")); in test1()
170 test(S("abcde"), 0, 4, "1234567890", 10, S("1234567890e")); in test1()
171 test(S("abcde"), 0, 4, "12345678901234567890", 0, S("e")); in test1()
172 test(S("abcde"), 0, 4, "12345678901234567890", 1, S("1e")); in test1()
173 test(S("abcde"), 0, 4, "12345678901234567890", 10, S("1234567890e")); in test1()
174 test(S("abcde"), 0, 4, "12345678901234567890", 19, S("1234567890123456789e")); in test1()
175 test(S("abcde"), 0, 4, "12345678901234567890", 20, S("12345678901234567890e")); in test1()
176 test(S("abcde"), 0, 5, "", 0, S("")); in test1()
177 test(S("abcde"), 0, 5, "12345", 0, S("")); in test1()
178 test(S("abcde"), 0, 5, "12345", 1, S("1")); in test1()
179 test(S("abcde"), 0, 5, "12345", 2, S("12")); in test1()
180 test(S("abcde"), 0, 5, "12345", 4, S("1234")); in test1()
181 test(S("abcde"), 0, 5, "12345", 5, S("12345")); in test1()
182 test(S("abcde"), 0, 5, "1234567890", 0, S("")); in test1()
183 test(S("abcde"), 0, 5, "1234567890", 1, S("1")); in test1()
184 test(S("abcde"), 0, 5, "1234567890", 5, S("12345")); in test1()
185 test(S("abcde"), 0, 5, "1234567890", 9, S("123456789")); in test1()
186 test(S("abcde"), 0, 5, "1234567890", 10, S("1234567890")); in test1()
187 test(S("abcde"), 0, 5, "12345678901234567890", 0, S("")); in test1()
188 test(S("abcde"), 0, 5, "12345678901234567890", 1, S("1")); in test1()
189 test(S("abcde"), 0, 5, "12345678901234567890", 10, S("1234567890")); in test1()
190 test(S("abcde"), 0, 5, "12345678901234567890", 19, S("1234567890123456789")); in test1()
191 test(S("abcde"), 0, 5, "12345678901234567890", 20, S("12345678901234567890")); in test1()
192 test(S("abcde"), 0, 6, "", 0, S("")); in test1()
193 test(S("abcde"), 0, 6, "12345", 0, S("")); in test1()
194 test(S("abcde"), 0, 6, "12345", 1, S("1")); in test1()
195 test(S("abcde"), 0, 6, "12345", 2, S("12")); in test1()
196 test(S("abcde"), 0, 6, "12345", 4, S("1234")); in test1()
197 test(S("abcde"), 0, 6, "12345", 5, S("12345")); in test1()
198 test(S("abcde"), 0, 6, "1234567890", 0, S("")); in test1()
199 test(S("abcde"), 0, 6, "1234567890", 1, S("1")); in test1()
200 test(S("abcde"), 0, 6, "1234567890", 5, S("12345")); in test1()
201 test(S("abcde"), 0, 6, "1234567890", 9, S("123456789")); in test1()
202 test(S("abcde"), 0, 6, "1234567890", 10, S("1234567890")); in test1()
203 test(S("abcde"), 0, 6, "12345678901234567890", 0, S("")); in test1()
204 test(S("abcde"), 0, 6, "12345678901234567890", 1, S("1")); in test1()
205 test(S("abcde"), 0, 6, "12345678901234567890", 10, S("1234567890")); in test1()
206 test(S("abcde"), 0, 6, "12345678901234567890", 19, S("1234567890123456789")); in test1()
207 test(S("abcde"), 0, 6, "12345678901234567890", 20, S("12345678901234567890")); in test1()
208 test(S("abcde"), 1, 0, "", 0, S("abcde")); in test1()
209 test(S("abcde"), 1, 0, "12345", 0, S("abcde")); in test1()
210 test(S("abcde"), 1, 0, "12345", 1, S("a1bcde")); in test1()
211 test(S("abcde"), 1, 0, "12345", 2, S("a12bcde")); in test1()
212 test(S("abcde"), 1, 0, "12345", 4, S("a1234bcde")); in test1()
213 test(S("abcde"), 1, 0, "12345", 5, S("a12345bcde")); in test1()
214 test(S("abcde"), 1, 0, "1234567890", 0, S("abcde")); in test1()
215 test(S("abcde"), 1, 0, "1234567890", 1, S("a1bcde")); in test1()
216 test(S("abcde"), 1, 0, "1234567890", 5, S("a12345bcde")); in test1()
217 test(S("abcde"), 1, 0, "1234567890", 9, S("a123456789bcde")); in test1()
218 test(S("abcde"), 1, 0, "1234567890", 10, S("a1234567890bcde")); in test1()
219 test(S("abcde"), 1, 0, "12345678901234567890", 0, S("abcde")); in test1()
220 test(S("abcde"), 1, 0, "12345678901234567890", 1, S("a1bcde")); in test1()
221 test(S("abcde"), 1, 0, "12345678901234567890", 10, S("a1234567890bcde")); in test1()
222 test(S("abcde"), 1, 0, "12345678901234567890", 19, S("a1234567890123456789bcde")); in test1()
223 test(S("abcde"), 1, 0, "12345678901234567890", 20, S("a12345678901234567890bcde")); in test1()
224 test(S("abcde"), 1, 1, "", 0, S("acde")); in test1()
225 test(S("abcde"), 1, 1, "12345", 0, S("acde")); in test1()
226 test(S("abcde"), 1, 1, "12345", 1, S("a1cde")); in test1()
227 test(S("abcde"), 1, 1, "12345", 2, S("a12cde")); in test1()
228 test(S("abcde"), 1, 1, "12345", 4, S("a1234cde")); in test1()
229 test(S("abcde"), 1, 1, "12345", 5, S("a12345cde")); in test1()
230 test(S("abcde"), 1, 1, "1234567890", 0, S("acde")); in test1()
231 test(S("abcde"), 1, 1, "1234567890", 1, S("a1cde")); in test1()
232 test(S("abcde"), 1, 1, "1234567890", 5, S("a12345cde")); in test1()
233 test(S("abcde"), 1, 1, "1234567890", 9, S("a123456789cde")); in test1()
234 test(S("abcde"), 1, 1, "1234567890", 10, S("a1234567890cde")); in test1()
235 test(S("abcde"), 1, 1, "12345678901234567890", 0, S("acde")); in test1()
236 test(S("abcde"), 1, 1, "12345678901234567890", 1, S("a1cde")); in test1()
237 test(S("abcde"), 1, 1, "12345678901234567890", 10, S("a1234567890cde")); in test1()
238 test(S("abcde"), 1, 1, "12345678901234567890", 19, S("a1234567890123456789cde")); in test1()
239 test(S("abcde"), 1, 1, "12345678901234567890", 20, S("a12345678901234567890cde")); in test1()
240 test(S("abcde"), 1, 2, "", 0, S("ade")); in test1()
241 test(S("abcde"), 1, 2, "12345", 0, S("ade")); in test1()
242 test(S("abcde"), 1, 2, "12345", 1, S("a1de")); in test1()
243 test(S("abcde"), 1, 2, "12345", 2, S("a12de")); in test1()
244 test(S("abcde"), 1, 2, "12345", 4, S("a1234de")); in test1()
245 test(S("abcde"), 1, 2, "12345", 5, S("a12345de")); in test1()
246 test(S("abcde"), 1, 2, "1234567890", 0, S("ade")); in test1()
247 test(S("abcde"), 1, 2, "1234567890", 1, S("a1de")); in test1()
248 test(S("abcde"), 1, 2, "1234567890", 5, S("a12345de")); in test1()
249 test(S("abcde"), 1, 2, "1234567890", 9, S("a123456789de")); in test1()
250 test(S("abcde"), 1, 2, "1234567890", 10, S("a1234567890de")); in test1()
251 test(S("abcde"), 1, 2, "12345678901234567890", 0, S("ade")); in test1()
252 test(S("abcde"), 1, 2, "12345678901234567890", 1, S("a1de")); in test1()
253 test(S("abcde"), 1, 2, "12345678901234567890", 10, S("a1234567890de")); in test1()
254 test(S("abcde"), 1, 2, "12345678901234567890", 19, S("a1234567890123456789de")); in test1()
255 test(S("abcde"), 1, 2, "12345678901234567890", 20, S("a12345678901234567890de")); in test1()
256 test(S("abcde"), 1, 3, "", 0, S("ae")); in test1()
257 test(S("abcde"), 1, 3, "12345", 0, S("ae")); in test1()
258 test(S("abcde"), 1, 3, "12345", 1, S("a1e")); in test1()
259 test(S("abcde"), 1, 3, "12345", 2, S("a12e")); in test1()
260 test(S("abcde"), 1, 3, "12345", 4, S("a1234e")); in test1()
261 test(S("abcde"), 1, 3, "12345", 5, S("a12345e")); in test1()
262 test(S("abcde"), 1, 3, "1234567890", 0, S("ae")); in test1()
263 test(S("abcde"), 1, 3, "1234567890", 1, S("a1e")); in test1()
266 template <class S>
269 test(S("abcde"), 1, 3, "1234567890", 5, S("a12345e")); in test2()
270 test(S("abcde"), 1, 3, "1234567890", 9, S("a123456789e")); in test2()
271 test(S("abcde"), 1, 3, "1234567890", 10, S("a1234567890e")); in test2()
272 test(S("abcde"), 1, 3, "12345678901234567890", 0, S("ae")); in test2()
273 test(S("abcde"), 1, 3, "12345678901234567890", 1, S("a1e")); in test2()
274 test(S("abcde"), 1, 3, "12345678901234567890", 10, S("a1234567890e")); in test2()
275 test(S("abcde"), 1, 3, "12345678901234567890", 19, S("a1234567890123456789e")); in test2()
276 test(S("abcde"), 1, 3, "12345678901234567890", 20, S("a12345678901234567890e")); in test2()
277 test(S("abcde"), 1, 4, "", 0, S("a")); in test2()
278 test(S("abcde"), 1, 4, "12345", 0, S("a")); in test2()
279 test(S("abcde"), 1, 4, "12345", 1, S("a1")); in test2()
280 test(S("abcde"), 1, 4, "12345", 2, S("a12")); in test2()
281 test(S("abcde"), 1, 4, "12345", 4, S("a1234")); in test2()
282 test(S("abcde"), 1, 4, "12345", 5, S("a12345")); in test2()
283 test(S("abcde"), 1, 4, "1234567890", 0, S("a")); in test2()
284 test(S("abcde"), 1, 4, "1234567890", 1, S("a1")); in test2()
285 test(S("abcde"), 1, 4, "1234567890", 5, S("a12345")); in test2()
286 test(S("abcde"), 1, 4, "1234567890", 9, S("a123456789")); in test2()
287 test(S("abcde"), 1, 4, "1234567890", 10, S("a1234567890")); in test2()
288 test(S("abcde"), 1, 4, "12345678901234567890", 0, S("a")); in test2()
289 test(S("abcde"), 1, 4, "12345678901234567890", 1, S("a1")); in test2()
290 test(S("abcde"), 1, 4, "12345678901234567890", 10, S("a1234567890")); in test2()
291 test(S("abcde"), 1, 4, "12345678901234567890", 19, S("a1234567890123456789")); in test2()
292 test(S("abcde"), 1, 4, "12345678901234567890", 20, S("a12345678901234567890")); in test2()
293 test(S("abcde"), 1, 5, "", 0, S("a")); in test2()
294 test(S("abcde"), 1, 5, "12345", 0, S("a")); in test2()
295 test(S("abcde"), 1, 5, "12345", 1, S("a1")); in test2()
296 test(S("abcde"), 1, 5, "12345", 2, S("a12")); in test2()
297 test(S("abcde"), 1, 5, "12345", 4, S("a1234")); in test2()
298 test(S("abcde"), 1, 5, "12345", 5, S("a12345")); in test2()
299 test(S("abcde"), 1, 5, "1234567890", 0, S("a")); in test2()
300 test(S("abcde"), 1, 5, "1234567890", 1, S("a1")); in test2()
301 test(S("abcde"), 1, 5, "1234567890", 5, S("a12345")); in test2()
302 test(S("abcde"), 1, 5, "1234567890", 9, S("a123456789")); in test2()
303 test(S("abcde"), 1, 5, "1234567890", 10, S("a1234567890")); in test2()
304 test(S("abcde"), 1, 5, "12345678901234567890", 0, S("a")); in test2()
305 test(S("abcde"), 1, 5, "12345678901234567890", 1, S("a1")); in test2()
306 test(S("abcde"), 1, 5, "12345678901234567890", 10, S("a1234567890")); in test2()
307 test(S("abcde"), 1, 5, "12345678901234567890", 19, S("a1234567890123456789")); in test2()
308 test(S("abcde"), 1, 5, "12345678901234567890", 20, S("a12345678901234567890")); in test2()
309 test(S("abcde"), 2, 0, "", 0, S("abcde")); in test2()
310 test(S("abcde"), 2, 0, "12345", 0, S("abcde")); in test2()
311 test(S("abcde"), 2, 0, "12345", 1, S("ab1cde")); in test2()
312 test(S("abcde"), 2, 0, "12345", 2, S("ab12cde")); in test2()
313 test(S("abcde"), 2, 0, "12345", 4, S("ab1234cde")); in test2()
314 test(S("abcde"), 2, 0, "12345", 5, S("ab12345cde")); in test2()
315 test(S("abcde"), 2, 0, "1234567890", 0, S("abcde")); in test2()
316 test(S("abcde"), 2, 0, "1234567890", 1, S("ab1cde")); in test2()
317 test(S("abcde"), 2, 0, "1234567890", 5, S("ab12345cde")); in test2()
318 test(S("abcde"), 2, 0, "1234567890", 9, S("ab123456789cde")); in test2()
319 test(S("abcde"), 2, 0, "1234567890", 10, S("ab1234567890cde")); in test2()
320 test(S("abcde"), 2, 0, "12345678901234567890", 0, S("abcde")); in test2()
321 test(S("abcde"), 2, 0, "12345678901234567890", 1, S("ab1cde")); in test2()
322 test(S("abcde"), 2, 0, "12345678901234567890", 10, S("ab1234567890cde")); in test2()
323 test(S("abcde"), 2, 0, "12345678901234567890", 19, S("ab1234567890123456789cde")); in test2()
324 test(S("abcde"), 2, 0, "12345678901234567890", 20, S("ab12345678901234567890cde")); in test2()
325 test(S("abcde"), 2, 1, "", 0, S("abde")); in test2()
326 test(S("abcde"), 2, 1, "12345", 0, S("abde")); in test2()
327 test(S("abcde"), 2, 1, "12345", 1, S("ab1de")); in test2()
328 test(S("abcde"), 2, 1, "12345", 2, S("ab12de")); in test2()
329 test(S("abcde"), 2, 1, "12345", 4, S("ab1234de")); in test2()
330 test(S("abcde"), 2, 1, "12345", 5, S("ab12345de")); in test2()
331 test(S("abcde"), 2, 1, "1234567890", 0, S("abde")); in test2()
332 test(S("abcde"), 2, 1, "1234567890", 1, S("ab1de")); in test2()
333 test(S("abcde"), 2, 1, "1234567890", 5, S("ab12345de")); in test2()
334 test(S("abcde"), 2, 1, "1234567890", 9, S("ab123456789de")); in test2()
335 test(S("abcde"), 2, 1, "1234567890", 10, S("ab1234567890de")); in test2()
336 test(S("abcde"), 2, 1, "12345678901234567890", 0, S("abde")); in test2()
337 test(S("abcde"), 2, 1, "12345678901234567890", 1, S("ab1de")); in test2()
338 test(S("abcde"), 2, 1, "12345678901234567890", 10, S("ab1234567890de")); in test2()
339 test(S("abcde"), 2, 1, "12345678901234567890", 19, S("ab1234567890123456789de")); in test2()
340 test(S("abcde"), 2, 1, "12345678901234567890", 20, S("ab12345678901234567890de")); in test2()
341 test(S("abcde"), 2, 2, "", 0, S("abe")); in test2()
342 test(S("abcde"), 2, 2, "12345", 0, S("abe")); in test2()
343 test(S("abcde"), 2, 2, "12345", 1, S("ab1e")); in test2()
344 test(S("abcde"), 2, 2, "12345", 2, S("ab12e")); in test2()
345 test(S("abcde"), 2, 2, "12345", 4, S("ab1234e")); in test2()
346 test(S("abcde"), 2, 2, "12345", 5, S("ab12345e")); in test2()
347 test(S("abcde"), 2, 2, "1234567890", 0, S("abe")); in test2()
348 test(S("abcde"), 2, 2, "1234567890", 1, S("ab1e")); in test2()
349 test(S("abcde"), 2, 2, "1234567890", 5, S("ab12345e")); in test2()
350 test(S("abcde"), 2, 2, "1234567890", 9, S("ab123456789e")); in test2()
351 test(S("abcde"), 2, 2, "1234567890", 10, S("ab1234567890e")); in test2()
352 test(S("abcde"), 2, 2, "12345678901234567890", 0, S("abe")); in test2()
353 test(S("abcde"), 2, 2, "12345678901234567890", 1, S("ab1e")); in test2()
354 test(S("abcde"), 2, 2, "12345678901234567890", 10, S("ab1234567890e")); in test2()
355 test(S("abcde"), 2, 2, "12345678901234567890", 19, S("ab1234567890123456789e")); in test2()
356 test(S("abcde"), 2, 2, "12345678901234567890", 20, S("ab12345678901234567890e")); in test2()
357 test(S("abcde"), 2, 3, "", 0, S("ab")); in test2()
358 test(S("abcde"), 2, 3, "12345", 0, S("ab")); in test2()
359 test(S("abcde"), 2, 3, "12345", 1, S("ab1")); in test2()
360 test(S("abcde"), 2, 3, "12345", 2, S("ab12")); in test2()
361 test(S("abcde"), 2, 3, "12345", 4, S("ab1234")); in test2()
362 test(S("abcde"), 2, 3, "12345", 5, S("ab12345")); in test2()
363 test(S("abcde"), 2, 3, "1234567890", 0, S("ab")); in test2()
364 test(S("abcde"), 2, 3, "1234567890", 1, S("ab1")); in test2()
365 test(S("abcde"), 2, 3, "1234567890", 5, S("ab12345")); in test2()
366 test(S("abcde"), 2, 3, "1234567890", 9, S("ab123456789")); in test2()
367 test(S("abcde"), 2, 3, "1234567890", 10, S("ab1234567890")); in test2()
368 test(S("abcde"), 2, 3, "12345678901234567890", 0, S("ab")); in test2()
371 template <class S>
374 test(S("abcde"), 2, 3, "12345678901234567890", 1, S("ab1")); in test3()
375 test(S("abcde"), 2, 3, "12345678901234567890", 10, S("ab1234567890")); in test3()
376 test(S("abcde"), 2, 3, "12345678901234567890", 19, S("ab1234567890123456789")); in test3()
377 test(S("abcde"), 2, 3, "12345678901234567890", 20, S("ab12345678901234567890")); in test3()
378 test(S("abcde"), 2, 4, "", 0, S("ab")); in test3()
379 test(S("abcde"), 2, 4, "12345", 0, S("ab")); in test3()
380 test(S("abcde"), 2, 4, "12345", 1, S("ab1")); in test3()
381 test(S("abcde"), 2, 4, "12345", 2, S("ab12")); in test3()
382 test(S("abcde"), 2, 4, "12345", 4, S("ab1234")); in test3()
383 test(S("abcde"), 2, 4, "12345", 5, S("ab12345")); in test3()
384 test(S("abcde"), 2, 4, "1234567890", 0, S("ab")); in test3()
385 test(S("abcde"), 2, 4, "1234567890", 1, S("ab1")); in test3()
386 test(S("abcde"), 2, 4, "1234567890", 5, S("ab12345")); in test3()
387 test(S("abcde"), 2, 4, "1234567890", 9, S("ab123456789")); in test3()
388 test(S("abcde"), 2, 4, "1234567890", 10, S("ab1234567890")); in test3()
389 test(S("abcde"), 2, 4, "12345678901234567890", 0, S("ab")); in test3()
390 test(S("abcde"), 2, 4, "12345678901234567890", 1, S("ab1")); in test3()
391 test(S("abcde"), 2, 4, "12345678901234567890", 10, S("ab1234567890")); in test3()
392 test(S("abcde"), 2, 4, "12345678901234567890", 19, S("ab1234567890123456789")); in test3()
393 test(S("abcde"), 2, 4, "12345678901234567890", 20, S("ab12345678901234567890")); in test3()
394 test(S("abcde"), 4, 0, "", 0, S("abcde")); in test3()
395 test(S("abcde"), 4, 0, "12345", 0, S("abcde")); in test3()
396 test(S("abcde"), 4, 0, "12345", 1, S("abcd1e")); in test3()
397 test(S("abcde"), 4, 0, "12345", 2, S("abcd12e")); in test3()
398 test(S("abcde"), 4, 0, "12345", 4, S("abcd1234e")); in test3()
399 test(S("abcde"), 4, 0, "12345", 5, S("abcd12345e")); in test3()
400 test(S("abcde"), 4, 0, "1234567890", 0, S("abcde")); in test3()
401 test(S("abcde"), 4, 0, "1234567890", 1, S("abcd1e")); in test3()
402 test(S("abcde"), 4, 0, "1234567890", 5, S("abcd12345e")); in test3()
403 test(S("abcde"), 4, 0, "1234567890", 9, S("abcd123456789e")); in test3()
404 test(S("abcde"), 4, 0, "1234567890", 10, S("abcd1234567890e")); in test3()
405 test(S("abcde"), 4, 0, "12345678901234567890", 0, S("abcde")); in test3()
406 test(S("abcde"), 4, 0, "12345678901234567890", 1, S("abcd1e")); in test3()
407 test(S("abcde"), 4, 0, "12345678901234567890", 10, S("abcd1234567890e")); in test3()
408 test(S("abcde"), 4, 0, "12345678901234567890", 19, S("abcd1234567890123456789e")); in test3()
409 test(S("abcde"), 4, 0, "12345678901234567890", 20, S("abcd12345678901234567890e")); in test3()
410 test(S("abcde"), 4, 1, "", 0, S("abcd")); in test3()
411 test(S("abcde"), 4, 1, "12345", 0, S("abcd")); in test3()
412 test(S("abcde"), 4, 1, "12345", 1, S("abcd1")); in test3()
413 test(S("abcde"), 4, 1, "12345", 2, S("abcd12")); in test3()
414 test(S("abcde"), 4, 1, "12345", 4, S("abcd1234")); in test3()
415 test(S("abcde"), 4, 1, "12345", 5, S("abcd12345")); in test3()
416 test(S("abcde"), 4, 1, "1234567890", 0, S("abcd")); in test3()
417 test(S("abcde"), 4, 1, "1234567890", 1, S("abcd1")); in test3()
418 test(S("abcde"), 4, 1, "1234567890", 5, S("abcd12345")); in test3()
419 test(S("abcde"), 4, 1, "1234567890", 9, S("abcd123456789")); in test3()
420 test(S("abcde"), 4, 1, "1234567890", 10, S("abcd1234567890")); in test3()
421 test(S("abcde"), 4, 1, "12345678901234567890", 0, S("abcd")); in test3()
422 test(S("abcde"), 4, 1, "12345678901234567890", 1, S("abcd1")); in test3()
423 test(S("abcde"), 4, 1, "12345678901234567890", 10, S("abcd1234567890")); in test3()
424 test(S("abcde"), 4, 1, "12345678901234567890", 19, S("abcd1234567890123456789")); in test3()
425 test(S("abcde"), 4, 1, "12345678901234567890", 20, S("abcd12345678901234567890")); in test3()
426 test(S("abcde"), 4, 2, "", 0, S("abcd")); in test3()
427 test(S("abcde"), 4, 2, "12345", 0, S("abcd")); in test3()
428 test(S("abcde"), 4, 2, "12345", 1, S("abcd1")); in test3()
429 test(S("abcde"), 4, 2, "12345", 2, S("abcd12")); in test3()
430 test(S("abcde"), 4, 2, "12345", 4, S("abcd1234")); in test3()
431 test(S("abcde"), 4, 2, "12345", 5, S("abcd12345")); in test3()
432 test(S("abcde"), 4, 2, "1234567890", 0, S("abcd")); in test3()
433 test(S("abcde"), 4, 2, "1234567890", 1, S("abcd1")); in test3()
434 test(S("abcde"), 4, 2, "1234567890", 5, S("abcd12345")); in test3()
435 test(S("abcde"), 4, 2, "1234567890", 9, S("abcd123456789")); in test3()
436 test(S("abcde"), 4, 2, "1234567890", 10, S("abcd1234567890")); in test3()
437 test(S("abcde"), 4, 2, "12345678901234567890", 0, S("abcd")); in test3()
438 test(S("abcde"), 4, 2, "12345678901234567890", 1, S("abcd1")); in test3()
439 test(S("abcde"), 4, 2, "12345678901234567890", 10, S("abcd1234567890")); in test3()
440 test(S("abcde"), 4, 2, "12345678901234567890", 19, S("abcd1234567890123456789")); in test3()
441 test(S("abcde"), 4, 2, "12345678901234567890", 20, S("abcd12345678901234567890")); in test3()
442 test(S("abcde"), 5, 0, "", 0, S("abcde")); in test3()
443 test(S("abcde"), 5, 0, "12345", 0, S("abcde")); in test3()
444 test(S("abcde"), 5, 0, "12345", 1, S("abcde1")); in test3()
445 test(S("abcde"), 5, 0, "12345", 2, S("abcde12")); in test3()
446 test(S("abcde"), 5, 0, "12345", 4, S("abcde1234")); in test3()
447 test(S("abcde"), 5, 0, "12345", 5, S("abcde12345")); in test3()
448 test(S("abcde"), 5, 0, "1234567890", 0, S("abcde")); in test3()
449 test(S("abcde"), 5, 0, "1234567890", 1, S("abcde1")); in test3()
450 test(S("abcde"), 5, 0, "1234567890", 5, S("abcde12345")); in test3()
451 test(S("abcde"), 5, 0, "1234567890", 9, S("abcde123456789")); in test3()
452 test(S("abcde"), 5, 0, "1234567890", 10, S("abcde1234567890")); in test3()
453 test(S("abcde"), 5, 0, "12345678901234567890", 0, S("abcde")); in test3()
454 test(S("abcde"), 5, 0, "12345678901234567890", 1, S("abcde1")); in test3()
455 test(S("abcde"), 5, 0, "12345678901234567890", 10, S("abcde1234567890")); in test3()
456 test(S("abcde"), 5, 0, "12345678901234567890", 19, S("abcde1234567890123456789")); in test3()
457 test(S("abcde"), 5, 0, "12345678901234567890", 20, S("abcde12345678901234567890")); in test3()
458 test(S("abcde"), 5, 1, "", 0, S("abcde")); in test3()
459 test(S("abcde"), 5, 1, "12345", 0, S("abcde")); in test3()
460 test(S("abcde"), 5, 1, "12345", 1, S("abcde1")); in test3()
461 test(S("abcde"), 5, 1, "12345", 2, S("abcde12")); in test3()
462 test(S("abcde"), 5, 1, "12345", 4, S("abcde1234")); in test3()
463 test(S("abcde"), 5, 1, "12345", 5, S("abcde12345")); in test3()
464 test(S("abcde"), 5, 1, "1234567890", 0, S("abcde")); in test3()
465 test(S("abcde"), 5, 1, "1234567890", 1, S("abcde1")); in test3()
466 test(S("abcde"), 5, 1, "1234567890", 5, S("abcde12345")); in test3()
467 test(S("abcde"), 5, 1, "1234567890", 9, S("abcde123456789")); in test3()
468 test(S("abcde"), 5, 1, "1234567890", 10, S("abcde1234567890")); in test3()
469 test(S("abcde"), 5, 1, "12345678901234567890", 0, S("abcde")); in test3()
470 test(S("abcde"), 5, 1, "12345678901234567890", 1, S("abcde1")); in test3()
471 test(S("abcde"), 5, 1, "12345678901234567890", 10, S("abcde1234567890")); in test3()
472 test(S("abcde"), 5, 1, "12345678901234567890", 19, S("abcde1234567890123456789")); in test3()
473 test(S("abcde"), 5, 1, "12345678901234567890", 20, S("abcde12345678901234567890")); in test3()
476 template <class S>
479 test(S("abcde"), 6, 0, "", 0, S("can't happen")); in test4()
480 test(S("abcde"), 6, 0, "12345", 0, S("can't happen")); in test4()
481 test(S("abcde"), 6, 0, "12345", 1, S("can't happen")); in test4()
482 test(S("abcde"), 6, 0, "12345", 2, S("can't happen")); in test4()
483 test(S("abcde"), 6, 0, "12345", 4, S("can't happen")); in test4()
484 test(S("abcde"), 6, 0, "12345", 5, S("can't happen")); in test4()
485 test(S("abcde"), 6, 0, "1234567890", 0, S("can't happen")); in test4()
486 test(S("abcde"), 6, 0, "1234567890", 1, S("can't happen")); in test4()
487 test(S("abcde"), 6, 0, "1234567890", 5, S("can't happen")); in test4()
488 test(S("abcde"), 6, 0, "1234567890", 9, S("can't happen")); in test4()
489 test(S("abcde"), 6, 0, "1234567890", 10, S("can't happen")); in test4()
490 test(S("abcde"), 6, 0, "12345678901234567890", 0, S("can't happen")); in test4()
491 test(S("abcde"), 6, 0, "12345678901234567890", 1, S("can't happen")); in test4()
492 test(S("abcde"), 6, 0, "12345678901234567890", 10, S("can't happen")); in test4()
493 test(S("abcde"), 6, 0, "12345678901234567890", 19, S("can't happen")); in test4()
494 test(S("abcde"), 6, 0, "12345678901234567890", 20, S("can't happen")); in test4()
495 test(S("abcdefghij"), 0, 0, "", 0, S("abcdefghij")); in test4()
496 test(S("abcdefghij"), 0, 0, "12345", 0, S("abcdefghij")); in test4()
497 test(S("abcdefghij"), 0, 0, "12345", 1, S("1abcdefghij")); in test4()
498 test(S("abcdefghij"), 0, 0, "12345", 2, S("12abcdefghij")); in test4()
499 test(S("abcdefghij"), 0, 0, "12345", 4, S("1234abcdefghij")); in test4()
500 test(S("abcdefghij"), 0, 0, "12345", 5, S("12345abcdefghij")); in test4()
501 test(S("abcdefghij"), 0, 0, "1234567890", 0, S("abcdefghij")); in test4()
502 test(S("abcdefghij"), 0, 0, "1234567890", 1, S("1abcdefghij")); in test4()
503 test(S("abcdefghij"), 0, 0, "1234567890", 5, S("12345abcdefghij")); in test4()
504 test(S("abcdefghij"), 0, 0, "1234567890", 9, S("123456789abcdefghij")); in test4()
505 test(S("abcdefghij"), 0, 0, "1234567890", 10, S("1234567890abcdefghij")); in test4()
506 test(S("abcdefghij"), 0, 0, "12345678901234567890", 0, S("abcdefghij")); in test4()
507 test(S("abcdefghij"), 0, 0, "12345678901234567890", 1, S("1abcdefghij")); in test4()
508 test(S("abcdefghij"), 0, 0, "12345678901234567890", 10, S("1234567890abcdefghij")); in test4()
509 test(S("abcdefghij"), 0, 0, "12345678901234567890", 19, S("1234567890123456789abcdefghij")); in test4()
510 test(S("abcdefghij"), 0, 0, "12345678901234567890", 20, S("12345678901234567890abcdefghij")); in test4()
511 test(S("abcdefghij"), 0, 1, "", 0, S("bcdefghij")); in test4()
512 test(S("abcdefghij"), 0, 1, "12345", 0, S("bcdefghij")); in test4()
513 test(S("abcdefghij"), 0, 1, "12345", 1, S("1bcdefghij")); in test4()
514 test(S("abcdefghij"), 0, 1, "12345", 2, S("12bcdefghij")); in test4()
515 test(S("abcdefghij"), 0, 1, "12345", 4, S("1234bcdefghij")); in test4()
516 test(S("abcdefghij"), 0, 1, "12345", 5, S("12345bcdefghij")); in test4()
517 test(S("abcdefghij"), 0, 1, "1234567890", 0, S("bcdefghij")); in test4()
518 test(S("abcdefghij"), 0, 1, "1234567890", 1, S("1bcdefghij")); in test4()
519 test(S("abcdefghij"), 0, 1, "1234567890", 5, S("12345bcdefghij")); in test4()
520 test(S("abcdefghij"), 0, 1, "1234567890", 9, S("123456789bcdefghij")); in test4()
521 test(S("abcdefghij"), 0, 1, "1234567890", 10, S("1234567890bcdefghij")); in test4()
522 test(S("abcdefghij"), 0, 1, "12345678901234567890", 0, S("bcdefghij")); in test4()
523 test(S("abcdefghij"), 0, 1, "12345678901234567890", 1, S("1bcdefghij")); in test4()
524 test(S("abcdefghij"), 0, 1, "12345678901234567890", 10, S("1234567890bcdefghij")); in test4()
525 test(S("abcdefghij"), 0, 1, "12345678901234567890", 19, S("1234567890123456789bcdefghij")); in test4()
526 test(S("abcdefghij"), 0, 1, "12345678901234567890", 20, S("12345678901234567890bcdefghij")); in test4()
527 test(S("abcdefghij"), 0, 5, "", 0, S("fghij")); in test4()
528 test(S("abcdefghij"), 0, 5, "12345", 0, S("fghij")); in test4()
529 test(S("abcdefghij"), 0, 5, "12345", 1, S("1fghij")); in test4()
530 test(S("abcdefghij"), 0, 5, "12345", 2, S("12fghij")); in test4()
531 test(S("abcdefghij"), 0, 5, "12345", 4, S("1234fghij")); in test4()
532 test(S("abcdefghij"), 0, 5, "12345", 5, S("12345fghij")); in test4()
533 test(S("abcdefghij"), 0, 5, "1234567890", 0, S("fghij")); in test4()
534 test(S("abcdefghij"), 0, 5, "1234567890", 1, S("1fghij")); in test4()
535 test(S("abcdefghij"), 0, 5, "1234567890", 5, S("12345fghij")); in test4()
536 test(S("abcdefghij"), 0, 5, "1234567890", 9, S("123456789fghij")); in test4()
537 test(S("abcdefghij"), 0, 5, "1234567890", 10, S("1234567890fghij")); in test4()
538 test(S("abcdefghij"), 0, 5, "12345678901234567890", 0, S("fghij")); in test4()
539 test(S("abcdefghij"), 0, 5, "12345678901234567890", 1, S("1fghij")); in test4()
540 test(S("abcdefghij"), 0, 5, "12345678901234567890", 10, S("1234567890fghij")); in test4()
541 test(S("abcdefghij"), 0, 5, "12345678901234567890", 19, S("1234567890123456789fghij")); in test4()
542 test(S("abcdefghij"), 0, 5, "12345678901234567890", 20, S("12345678901234567890fghij")); in test4()
543 test(S("abcdefghij"), 0, 9, "", 0, S("j")); in test4()
544 test(S("abcdefghij"), 0, 9, "12345", 0, S("j")); in test4()
545 test(S("abcdefghij"), 0, 9, "12345", 1, S("1j")); in test4()
546 test(S("abcdefghij"), 0, 9, "12345", 2, S("12j")); in test4()
547 test(S("abcdefghij"), 0, 9, "12345", 4, S("1234j")); in test4()
548 test(S("abcdefghij"), 0, 9, "12345", 5, S("12345j")); in test4()
549 test(S("abcdefghij"), 0, 9, "1234567890", 0, S("j")); in test4()
550 test(S("abcdefghij"), 0, 9, "1234567890", 1, S("1j")); in test4()
551 test(S("abcdefghij"), 0, 9, "1234567890", 5, S("12345j")); in test4()
552 test(S("abcdefghij"), 0, 9, "1234567890", 9, S("123456789j")); in test4()
553 test(S("abcdefghij"), 0, 9, "1234567890", 10, S("1234567890j")); in test4()
554 test(S("abcdefghij"), 0, 9, "12345678901234567890", 0, S("j")); in test4()
555 test(S("abcdefghij"), 0, 9, "12345678901234567890", 1, S("1j")); in test4()
556 test(S("abcdefghij"), 0, 9, "12345678901234567890", 10, S("1234567890j")); in test4()
557 test(S("abcdefghij"), 0, 9, "12345678901234567890", 19, S("1234567890123456789j")); in test4()
558 test(S("abcdefghij"), 0, 9, "12345678901234567890", 20, S("12345678901234567890j")); in test4()
559 test(S("abcdefghij"), 0, 10, "", 0, S("")); in test4()
560 test(S("abcdefghij"), 0, 10, "12345", 0, S("")); in test4()
561 test(S("abcdefghij"), 0, 10, "12345", 1, S("1")); in test4()
562 test(S("abcdefghij"), 0, 10, "12345", 2, S("12")); in test4()
563 test(S("abcdefghij"), 0, 10, "12345", 4, S("1234")); in test4()
564 test(S("abcdefghij"), 0, 10, "12345", 5, S("12345")); in test4()
565 test(S("abcdefghij"), 0, 10, "1234567890", 0, S("")); in test4()
566 test(S("abcdefghij"), 0, 10, "1234567890", 1, S("1")); in test4()
567 test(S("abcdefghij"), 0, 10, "1234567890", 5, S("12345")); in test4()
568 test(S("abcdefghij"), 0, 10, "1234567890", 9, S("123456789")); in test4()
569 test(S("abcdefghij"), 0, 10, "1234567890", 10, S("1234567890")); in test4()
570 test(S("abcdefghij"), 0, 10, "12345678901234567890", 0, S("")); in test4()
571 test(S("abcdefghij"), 0, 10, "12345678901234567890", 1, S("1")); in test4()
572 test(S("abcdefghij"), 0, 10, "12345678901234567890", 10, S("1234567890")); in test4()
573 test(S("abcdefghij"), 0, 10, "12345678901234567890", 19, S("1234567890123456789")); in test4()
574 test(S("abcdefghij"), 0, 10, "12345678901234567890", 20, S("12345678901234567890")); in test4()
575 test(S("abcdefghij"), 0, 11, "", 0, S("")); in test4()
576 test(S("abcdefghij"), 0, 11, "12345", 0, S("")); in test4()
577 test(S("abcdefghij"), 0, 11, "12345", 1, S("1")); in test4()
578 test(S("abcdefghij"), 0, 11, "12345", 2, S("12")); in test4()
581 template <class S>
584 test(S("abcdefghij"), 0, 11, "12345", 4, S("1234")); in test5()
585 test(S("abcdefghij"), 0, 11, "12345", 5, S("12345")); in test5()
586 test(S("abcdefghij"), 0, 11, "1234567890", 0, S("")); in test5()
587 test(S("abcdefghij"), 0, 11, "1234567890", 1, S("1")); in test5()
588 test(S("abcdefghij"), 0, 11, "1234567890", 5, S("12345")); in test5()
589 test(S("abcdefghij"), 0, 11, "1234567890", 9, S("123456789")); in test5()
590 test(S("abcdefghij"), 0, 11, "1234567890", 10, S("1234567890")); in test5()
591 test(S("abcdefghij"), 0, 11, "12345678901234567890", 0, S("")); in test5()
592 test(S("abcdefghij"), 0, 11, "12345678901234567890", 1, S("1")); in test5()
593 test(S("abcdefghij"), 0, 11, "12345678901234567890", 10, S("1234567890")); in test5()
594 test(S("abcdefghij"), 0, 11, "12345678901234567890", 19, S("1234567890123456789")); in test5()
595 test(S("abcdefghij"), 0, 11, "12345678901234567890", 20, S("12345678901234567890")); in test5()
596 test(S("abcdefghij"), 1, 0, "", 0, S("abcdefghij")); in test5()
597 test(S("abcdefghij"), 1, 0, "12345", 0, S("abcdefghij")); in test5()
598 test(S("abcdefghij"), 1, 0, "12345", 1, S("a1bcdefghij")); in test5()
599 test(S("abcdefghij"), 1, 0, "12345", 2, S("a12bcdefghij")); in test5()
600 test(S("abcdefghij"), 1, 0, "12345", 4, S("a1234bcdefghij")); in test5()
601 test(S("abcdefghij"), 1, 0, "12345", 5, S("a12345bcdefghij")); in test5()
602 test(S("abcdefghij"), 1, 0, "1234567890", 0, S("abcdefghij")); in test5()
603 test(S("abcdefghij"), 1, 0, "1234567890", 1, S("a1bcdefghij")); in test5()
604 test(S("abcdefghij"), 1, 0, "1234567890", 5, S("a12345bcdefghij")); in test5()
605 test(S("abcdefghij"), 1, 0, "1234567890", 9, S("a123456789bcdefghij")); in test5()
606 test(S("abcdefghij"), 1, 0, "1234567890", 10, S("a1234567890bcdefghij")); in test5()
607 test(S("abcdefghij"), 1, 0, "12345678901234567890", 0, S("abcdefghij")); in test5()
608 test(S("abcdefghij"), 1, 0, "12345678901234567890", 1, S("a1bcdefghij")); in test5()
609 test(S("abcdefghij"), 1, 0, "12345678901234567890", 10, S("a1234567890bcdefghij")); in test5()
610 test(S("abcdefghij"), 1, 0, "12345678901234567890", 19, S("a1234567890123456789bcdefghij")); in test5()
611 test(S("abcdefghij"), 1, 0, "12345678901234567890", 20, S("a12345678901234567890bcdefghij")); in test5()
612 test(S("abcdefghij"), 1, 1, "", 0, S("acdefghij")); in test5()
613 test(S("abcdefghij"), 1, 1, "12345", 0, S("acdefghij")); in test5()
614 test(S("abcdefghij"), 1, 1, "12345", 1, S("a1cdefghij")); in test5()
615 test(S("abcdefghij"), 1, 1, "12345", 2, S("a12cdefghij")); in test5()
616 test(S("abcdefghij"), 1, 1, "12345", 4, S("a1234cdefghij")); in test5()
617 test(S("abcdefghij"), 1, 1, "12345", 5, S("a12345cdefghij")); in test5()
618 test(S("abcdefghij"), 1, 1, "1234567890", 0, S("acdefghij")); in test5()
619 test(S("abcdefghij"), 1, 1, "1234567890", 1, S("a1cdefghij")); in test5()
620 test(S("abcdefghij"), 1, 1, "1234567890", 5, S("a12345cdefghij")); in test5()
621 test(S("abcdefghij"), 1, 1, "1234567890", 9, S("a123456789cdefghij")); in test5()
622 test(S("abcdefghij"), 1, 1, "1234567890", 10, S("a1234567890cdefghij")); in test5()
623 test(S("abcdefghij"), 1, 1, "12345678901234567890", 0, S("acdefghij")); in test5()
624 test(S("abcdefghij"), 1, 1, "12345678901234567890", 1, S("a1cdefghij")); in test5()
625 test(S("abcdefghij"), 1, 1, "12345678901234567890", 10, S("a1234567890cdefghij")); in test5()
626 test(S("abcdefghij"), 1, 1, "12345678901234567890", 19, S("a1234567890123456789cdefghij")); in test5()
627 test(S("abcdefghij"), 1, 1, "12345678901234567890", 20, S("a12345678901234567890cdefghij")); in test5()
628 test(S("abcdefghij"), 1, 4, "", 0, S("afghij")); in test5()
629 test(S("abcdefghij"), 1, 4, "12345", 0, S("afghij")); in test5()
630 test(S("abcdefghij"), 1, 4, "12345", 1, S("a1fghij")); in test5()
631 test(S("abcdefghij"), 1, 4, "12345", 2, S("a12fghij")); in test5()
632 test(S("abcdefghij"), 1, 4, "12345", 4, S("a1234fghij")); in test5()
633 test(S("abcdefghij"), 1, 4, "12345", 5, S("a12345fghij")); in test5()
634 test(S("abcdefghij"), 1, 4, "1234567890", 0, S("afghij")); in test5()
635 test(S("abcdefghij"), 1, 4, "1234567890", 1, S("a1fghij")); in test5()
636 test(S("abcdefghij"), 1, 4, "1234567890", 5, S("a12345fghij")); in test5()
637 test(S("abcdefghij"), 1, 4, "1234567890", 9, S("a123456789fghij")); in test5()
638 test(S("abcdefghij"), 1, 4, "1234567890", 10, S("a1234567890fghij")); in test5()
639 test(S("abcdefghij"), 1, 4, "12345678901234567890", 0, S("afghij")); in test5()
640 test(S("abcdefghij"), 1, 4, "12345678901234567890", 1, S("a1fghij")); in test5()
641 test(S("abcdefghij"), 1, 4, "12345678901234567890", 10, S("a1234567890fghij")); in test5()
642 test(S("abcdefghij"), 1, 4, "12345678901234567890", 19, S("a1234567890123456789fghij")); in test5()
643 test(S("abcdefghij"), 1, 4, "12345678901234567890", 20, S("a12345678901234567890fghij")); in test5()
644 test(S("abcdefghij"), 1, 8, "", 0, S("aj")); in test5()
645 test(S("abcdefghij"), 1, 8, "12345", 0, S("aj")); in test5()
646 test(S("abcdefghij"), 1, 8, "12345", 1, S("a1j")); in test5()
647 test(S("abcdefghij"), 1, 8, "12345", 2, S("a12j")); in test5()
648 test(S("abcdefghij"), 1, 8, "12345", 4, S("a1234j")); in test5()
649 test(S("abcdefghij"), 1, 8, "12345", 5, S("a12345j")); in test5()
650 test(S("abcdefghij"), 1, 8, "1234567890", 0, S("aj")); in test5()
651 test(S("abcdefghij"), 1, 8, "1234567890", 1, S("a1j")); in test5()
652 test(S("abcdefghij"), 1, 8, "1234567890", 5, S("a12345j")); in test5()
653 test(S("abcdefghij"), 1, 8, "1234567890", 9, S("a123456789j")); in test5()
654 test(S("abcdefghij"), 1, 8, "1234567890", 10, S("a1234567890j")); in test5()
655 test(S("abcdefghij"), 1, 8, "12345678901234567890", 0, S("aj")); in test5()
656 test(S("abcdefghij"), 1, 8, "12345678901234567890", 1, S("a1j")); in test5()
657 test(S("abcdefghij"), 1, 8, "12345678901234567890", 10, S("a1234567890j")); in test5()
658 test(S("abcdefghij"), 1, 8, "12345678901234567890", 19, S("a1234567890123456789j")); in test5()
659 test(S("abcdefghij"), 1, 8, "12345678901234567890", 20, S("a12345678901234567890j")); in test5()
660 test(S("abcdefghij"), 1, 9, "", 0, S("a")); in test5()
661 test(S("abcdefghij"), 1, 9, "12345", 0, S("a")); in test5()
662 test(S("abcdefghij"), 1, 9, "12345", 1, S("a1")); in test5()
663 test(S("abcdefghij"), 1, 9, "12345", 2, S("a12")); in test5()
664 test(S("abcdefghij"), 1, 9, "12345", 4, S("a1234")); in test5()
665 test(S("abcdefghij"), 1, 9, "12345", 5, S("a12345")); in test5()
666 test(S("abcdefghij"), 1, 9, "1234567890", 0, S("a")); in test5()
667 test(S("abcdefghij"), 1, 9, "1234567890", 1, S("a1")); in test5()
668 test(S("abcdefghij"), 1, 9, "1234567890", 5, S("a12345")); in test5()
669 test(S("abcdefghij"), 1, 9, "1234567890", 9, S("a123456789")); in test5()
670 test(S("abcdefghij"), 1, 9, "1234567890", 10, S("a1234567890")); in test5()
671 test(S("abcdefghij"), 1, 9, "12345678901234567890", 0, S("a")); in test5()
672 test(S("abcdefghij"), 1, 9, "12345678901234567890", 1, S("a1")); in test5()
673 test(S("abcdefghij"), 1, 9, "12345678901234567890", 10, S("a1234567890")); in test5()
674 test(S("abcdefghij"), 1, 9, "12345678901234567890", 19, S("a1234567890123456789")); in test5()
675 test(S("abcdefghij"), 1, 9, "12345678901234567890", 20, S("a12345678901234567890")); in test5()
676 test(S("abcdefghij"), 1, 10, "", 0, S("a")); in test5()
677 test(S("abcdefghij"), 1, 10, "12345", 0, S("a")); in test5()
678 test(S("abcdefghij"), 1, 10, "12345", 1, S("a1")); in test5()
679 test(S("abcdefghij"), 1, 10, "12345", 2, S("a12")); in test5()
680 test(S("abcdefghij"), 1, 10, "12345", 4, S("a1234")); in test5()
681 test(S("abcdefghij"), 1, 10, "12345", 5, S("a12345")); in test5()
682 test(S("abcdefghij"), 1, 10, "1234567890", 0, S("a")); in test5()
683 test(S("abcdefghij"), 1, 10, "1234567890", 1, S("a1")); in test5()
686 template <class S>
689 test(S("abcdefghij"), 1, 10, "1234567890", 5, S("a12345")); in test6()
690 test(S("abcdefghij"), 1, 10, "1234567890", 9, S("a123456789")); in test6()
691 test(S("abcdefghij"), 1, 10, "1234567890", 10, S("a1234567890")); in test6()
692 test(S("abcdefghij"), 1, 10, "12345678901234567890", 0, S("a")); in test6()
693 test(S("abcdefghij"), 1, 10, "12345678901234567890", 1, S("a1")); in test6()
694 test(S("abcdefghij"), 1, 10, "12345678901234567890", 10, S("a1234567890")); in test6()
695 test(S("abcdefghij"), 1, 10, "12345678901234567890", 19, S("a1234567890123456789")); in test6()
696 test(S("abcdefghij"), 1, 10, "12345678901234567890", 20, S("a12345678901234567890")); in test6()
697 test(S("abcdefghij"), 5, 0, "", 0, S("abcdefghij")); in test6()
698 test(S("abcdefghij"), 5, 0, "12345", 0, S("abcdefghij")); in test6()
699 test(S("abcdefghij"), 5, 0, "12345", 1, S("abcde1fghij")); in test6()
700 test(S("abcdefghij"), 5, 0, "12345", 2, S("abcde12fghij")); in test6()
701 test(S("abcdefghij"), 5, 0, "12345", 4, S("abcde1234fghij")); in test6()
702 test(S("abcdefghij"), 5, 0, "12345", 5, S("abcde12345fghij")); in test6()
703 test(S("abcdefghij"), 5, 0, "1234567890", 0, S("abcdefghij")); in test6()
704 test(S("abcdefghij"), 5, 0, "1234567890", 1, S("abcde1fghij")); in test6()
705 test(S("abcdefghij"), 5, 0, "1234567890", 5, S("abcde12345fghij")); in test6()
706 test(S("abcdefghij"), 5, 0, "1234567890", 9, S("abcde123456789fghij")); in test6()
707 test(S("abcdefghij"), 5, 0, "1234567890", 10, S("abcde1234567890fghij")); in test6()
708 test(S("abcdefghij"), 5, 0, "12345678901234567890", 0, S("abcdefghij")); in test6()
709 test(S("abcdefghij"), 5, 0, "12345678901234567890", 1, S("abcde1fghij")); in test6()
710 test(S("abcdefghij"), 5, 0, "12345678901234567890", 10, S("abcde1234567890fghij")); in test6()
711 test(S("abcdefghij"), 5, 0, "12345678901234567890", 19, S("abcde1234567890123456789fghij")); in test6()
712 test(S("abcdefghij"), 5, 0, "12345678901234567890", 20, S("abcde12345678901234567890fghij")); in test6()
713 test(S("abcdefghij"), 5, 1, "", 0, S("abcdeghij")); in test6()
714 test(S("abcdefghij"), 5, 1, "12345", 0, S("abcdeghij")); in test6()
715 test(S("abcdefghij"), 5, 1, "12345", 1, S("abcde1ghij")); in test6()
716 test(S("abcdefghij"), 5, 1, "12345", 2, S("abcde12ghij")); in test6()
717 test(S("abcdefghij"), 5, 1, "12345", 4, S("abcde1234ghij")); in test6()
718 test(S("abcdefghij"), 5, 1, "12345", 5, S("abcde12345ghij")); in test6()
719 test(S("abcdefghij"), 5, 1, "1234567890", 0, S("abcdeghij")); in test6()
720 test(S("abcdefghij"), 5, 1, "1234567890", 1, S("abcde1ghij")); in test6()
721 test(S("abcdefghij"), 5, 1, "1234567890", 5, S("abcde12345ghij")); in test6()
722 test(S("abcdefghij"), 5, 1, "1234567890", 9, S("abcde123456789ghij")); in test6()
723 test(S("abcdefghij"), 5, 1, "1234567890", 10, S("abcde1234567890ghij")); in test6()
724 test(S("abcdefghij"), 5, 1, "12345678901234567890", 0, S("abcdeghij")); in test6()
725 test(S("abcdefghij"), 5, 1, "12345678901234567890", 1, S("abcde1ghij")); in test6()
726 test(S("abcdefghij"), 5, 1, "12345678901234567890", 10, S("abcde1234567890ghij")); in test6()
727 test(S("abcdefghij"), 5, 1, "12345678901234567890", 19, S("abcde1234567890123456789ghij")); in test6()
728 test(S("abcdefghij"), 5, 1, "12345678901234567890", 20, S("abcde12345678901234567890ghij")); in test6()
729 test(S("abcdefghij"), 5, 2, "", 0, S("abcdehij")); in test6()
730 test(S("abcdefghij"), 5, 2, "12345", 0, S("abcdehij")); in test6()
731 test(S("abcdefghij"), 5, 2, "12345", 1, S("abcde1hij")); in test6()
732 test(S("abcdefghij"), 5, 2, "12345", 2, S("abcde12hij")); in test6()
733 test(S("abcdefghij"), 5, 2, "12345", 4, S("abcde1234hij")); in test6()
734 test(S("abcdefghij"), 5, 2, "12345", 5, S("abcde12345hij")); in test6()
735 test(S("abcdefghij"), 5, 2, "1234567890", 0, S("abcdehij")); in test6()
736 test(S("abcdefghij"), 5, 2, "1234567890", 1, S("abcde1hij")); in test6()
737 test(S("abcdefghij"), 5, 2, "1234567890", 5, S("abcde12345hij")); in test6()
738 test(S("abcdefghij"), 5, 2, "1234567890", 9, S("abcde123456789hij")); in test6()
739 test(S("abcdefghij"), 5, 2, "1234567890", 10, S("abcde1234567890hij")); in test6()
740 test(S("abcdefghij"), 5, 2, "12345678901234567890", 0, S("abcdehij")); in test6()
741 test(S("abcdefghij"), 5, 2, "12345678901234567890", 1, S("abcde1hij")); in test6()
742 test(S("abcdefghij"), 5, 2, "12345678901234567890", 10, S("abcde1234567890hij")); in test6()
743 test(S("abcdefghij"), 5, 2, "12345678901234567890", 19, S("abcde1234567890123456789hij")); in test6()
744 test(S("abcdefghij"), 5, 2, "12345678901234567890", 20, S("abcde12345678901234567890hij")); in test6()
745 test(S("abcdefghij"), 5, 4, "", 0, S("abcdej")); in test6()
746 test(S("abcdefghij"), 5, 4, "12345", 0, S("abcdej")); in test6()
747 test(S("abcdefghij"), 5, 4, "12345", 1, S("abcde1j")); in test6()
748 test(S("abcdefghij"), 5, 4, "12345", 2, S("abcde12j")); in test6()
749 test(S("abcdefghij"), 5, 4, "12345", 4, S("abcde1234j")); in test6()
750 test(S("abcdefghij"), 5, 4, "12345", 5, S("abcde12345j")); in test6()
751 test(S("abcdefghij"), 5, 4, "1234567890", 0, S("abcdej")); in test6()
752 test(S("abcdefghij"), 5, 4, "1234567890", 1, S("abcde1j")); in test6()
753 test(S("abcdefghij"), 5, 4, "1234567890", 5, S("abcde12345j")); in test6()
754 test(S("abcdefghij"), 5, 4, "1234567890", 9, S("abcde123456789j")); in test6()
755 test(S("abcdefghij"), 5, 4, "1234567890", 10, S("abcde1234567890j")); in test6()
756 test(S("abcdefghij"), 5, 4, "12345678901234567890", 0, S("abcdej")); in test6()
757 test(S("abcdefghij"), 5, 4, "12345678901234567890", 1, S("abcde1j")); in test6()
758 test(S("abcdefghij"), 5, 4, "12345678901234567890", 10, S("abcde1234567890j")); in test6()
759 test(S("abcdefghij"), 5, 4, "12345678901234567890", 19, S("abcde1234567890123456789j")); in test6()
760 test(S("abcdefghij"), 5, 4, "12345678901234567890", 20, S("abcde12345678901234567890j")); in test6()
761 test(S("abcdefghij"), 5, 5, "", 0, S("abcde")); in test6()
762 test(S("abcdefghij"), 5, 5, "12345", 0, S("abcde")); in test6()
763 test(S("abcdefghij"), 5, 5, "12345", 1, S("abcde1")); in test6()
764 test(S("abcdefghij"), 5, 5, "12345", 2, S("abcde12")); in test6()
765 test(S("abcdefghij"), 5, 5, "12345", 4, S("abcde1234")); in test6()
766 test(S("abcdefghij"), 5, 5, "12345", 5, S("abcde12345")); in test6()
767 test(S("abcdefghij"), 5, 5, "1234567890", 0, S("abcde")); in test6()
768 test(S("abcdefghij"), 5, 5, "1234567890", 1, S("abcde1")); in test6()
769 test(S("abcdefghij"), 5, 5, "1234567890", 5, S("abcde12345")); in test6()
770 test(S("abcdefghij"), 5, 5, "1234567890", 9, S("abcde123456789")); in test6()
771 test(S("abcdefghij"), 5, 5, "1234567890", 10, S("abcde1234567890")); in test6()
772 test(S("abcdefghij"), 5, 5, "12345678901234567890", 0, S("abcde")); in test6()
773 test(S("abcdefghij"), 5, 5, "12345678901234567890", 1, S("abcde1")); in test6()
774 test(S("abcdefghij"), 5, 5, "12345678901234567890", 10, S("abcde1234567890")); in test6()
775 test(S("abcdefghij"), 5, 5, "12345678901234567890", 19, S("abcde1234567890123456789")); in test6()
776 test(S("abcdefghij"), 5, 5, "12345678901234567890", 20, S("abcde12345678901234567890")); in test6()
777 test(S("abcdefghij"), 5, 6, "", 0, S("abcde")); in test6()
778 test(S("abcdefghij"), 5, 6, "12345", 0, S("abcde")); in test6()
779 test(S("abcdefghij"), 5, 6, "12345", 1, S("abcde1")); in test6()
780 test(S("abcdefghij"), 5, 6, "12345", 2, S("abcde12")); in test6()
781 test(S("abcdefghij"), 5, 6, "12345", 4, S("abcde1234")); in test6()
782 test(S("abcdefghij"), 5, 6, "12345", 5, S("abcde12345")); in test6()
783 test(S("abcdefghij"), 5, 6, "1234567890", 0, S("abcde")); in test6()
784 test(S("abcdefghij"), 5, 6, "1234567890", 1, S("abcde1")); in test6()
785 test(S("abcdefghij"), 5, 6, "1234567890", 5, S("abcde12345")); in test6()
786 test(S("abcdefghij"), 5, 6, "1234567890", 9, S("abcde123456789")); in test6()
787 test(S("abcdefghij"), 5, 6, "1234567890", 10, S("abcde1234567890")); in test6()
788 test(S("abcdefghij"), 5, 6, "12345678901234567890", 0, S("abcde")); in test6()
791 template <class S>
794 test(S("abcdefghij"), 5, 6, "12345678901234567890", 1, S("abcde1")); in test7()
795 test(S("abcdefghij"), 5, 6, "12345678901234567890", 10, S("abcde1234567890")); in test7()
796 test(S("abcdefghij"), 5, 6, "12345678901234567890", 19, S("abcde1234567890123456789")); in test7()
797 test(S("abcdefghij"), 5, 6, "12345678901234567890", 20, S("abcde12345678901234567890")); in test7()
798 test(S("abcdefghij"), 9, 0, "", 0, S("abcdefghij")); in test7()
799 test(S("abcdefghij"), 9, 0, "12345", 0, S("abcdefghij")); in test7()
800 test(S("abcdefghij"), 9, 0, "12345", 1, S("abcdefghi1j")); in test7()
801 test(S("abcdefghij"), 9, 0, "12345", 2, S("abcdefghi12j")); in test7()
802 test(S("abcdefghij"), 9, 0, "12345", 4, S("abcdefghi1234j")); in test7()
803 test(S("abcdefghij"), 9, 0, "12345", 5, S("abcdefghi12345j")); in test7()
804 test(S("abcdefghij"), 9, 0, "1234567890", 0, S("abcdefghij")); in test7()
805 test(S("abcdefghij"), 9, 0, "1234567890", 1, S("abcdefghi1j")); in test7()
806 test(S("abcdefghij"), 9, 0, "1234567890", 5, S("abcdefghi12345j")); in test7()
807 test(S("abcdefghij"), 9, 0, "1234567890", 9, S("abcdefghi123456789j")); in test7()
808 test(S("abcdefghij"), 9, 0, "1234567890", 10, S("abcdefghi1234567890j")); in test7()
809 test(S("abcdefghij"), 9, 0, "12345678901234567890", 0, S("abcdefghij")); in test7()
810 test(S("abcdefghij"), 9, 0, "12345678901234567890", 1, S("abcdefghi1j")); in test7()
811 test(S("abcdefghij"), 9, 0, "12345678901234567890", 10, S("abcdefghi1234567890j")); in test7()
812 test(S("abcdefghij"), 9, 0, "12345678901234567890", 19, S("abcdefghi1234567890123456789j")); in test7()
813 test(S("abcdefghij"), 9, 0, "12345678901234567890", 20, S("abcdefghi12345678901234567890j")); in test7()
814 test(S("abcdefghij"), 9, 1, "", 0, S("abcdefghi")); in test7()
815 test(S("abcdefghij"), 9, 1, "12345", 0, S("abcdefghi")); in test7()
816 test(S("abcdefghij"), 9, 1, "12345", 1, S("abcdefghi1")); in test7()
817 test(S("abcdefghij"), 9, 1, "12345", 2, S("abcdefghi12")); in test7()
818 test(S("abcdefghij"), 9, 1, "12345", 4, S("abcdefghi1234")); in test7()
819 test(S("abcdefghij"), 9, 1, "12345", 5, S("abcdefghi12345")); in test7()
820 test(S("abcdefghij"), 9, 1, "1234567890", 0, S("abcdefghi")); in test7()
821 test(S("abcdefghij"), 9, 1, "1234567890", 1, S("abcdefghi1")); in test7()
822 test(S("abcdefghij"), 9, 1, "1234567890", 5, S("abcdefghi12345")); in test7()
823 test(S("abcdefghij"), 9, 1, "1234567890", 9, S("abcdefghi123456789")); in test7()
824 test(S("abcdefghij"), 9, 1, "1234567890", 10, S("abcdefghi1234567890")); in test7()
825 test(S("abcdefghij"), 9, 1, "12345678901234567890", 0, S("abcdefghi")); in test7()
826 test(S("abcdefghij"), 9, 1, "12345678901234567890", 1, S("abcdefghi1")); in test7()
827 test(S("abcdefghij"), 9, 1, "12345678901234567890", 10, S("abcdefghi1234567890")); in test7()
828 test(S("abcdefghij"), 9, 1, "12345678901234567890", 19, S("abcdefghi1234567890123456789")); in test7()
829 test(S("abcdefghij"), 9, 1, "12345678901234567890", 20, S("abcdefghi12345678901234567890")); in test7()
830 test(S("abcdefghij"), 9, 2, "", 0, S("abcdefghi")); in test7()
831 test(S("abcdefghij"), 9, 2, "12345", 0, S("abcdefghi")); in test7()
832 test(S("abcdefghij"), 9, 2, "12345", 1, S("abcdefghi1")); in test7()
833 test(S("abcdefghij"), 9, 2, "12345", 2, S("abcdefghi12")); in test7()
834 test(S("abcdefghij"), 9, 2, "12345", 4, S("abcdefghi1234")); in test7()
835 test(S("abcdefghij"), 9, 2, "12345", 5, S("abcdefghi12345")); in test7()
836 test(S("abcdefghij"), 9, 2, "1234567890", 0, S("abcdefghi")); in test7()
837 test(S("abcdefghij"), 9, 2, "1234567890", 1, S("abcdefghi1")); in test7()
838 test(S("abcdefghij"), 9, 2, "1234567890", 5, S("abcdefghi12345")); in test7()
839 test(S("abcdefghij"), 9, 2, "1234567890", 9, S("abcdefghi123456789")); in test7()
840 test(S("abcdefghij"), 9, 2, "1234567890", 10, S("abcdefghi1234567890")); in test7()
841 test(S("abcdefghij"), 9, 2, "12345678901234567890", 0, S("abcdefghi")); in test7()
842 test(S("abcdefghij"), 9, 2, "12345678901234567890", 1, S("abcdefghi1")); in test7()
843 test(S("abcdefghij"), 9, 2, "12345678901234567890", 10, S("abcdefghi1234567890")); in test7()
844 test(S("abcdefghij"), 9, 2, "12345678901234567890", 19, S("abcdefghi1234567890123456789")); in test7()
845 test(S("abcdefghij"), 9, 2, "12345678901234567890", 20, S("abcdefghi12345678901234567890")); in test7()
846 test(S("abcdefghij"), 10, 0, "", 0, S("abcdefghij")); in test7()
847 test(S("abcdefghij"), 10, 0, "12345", 0, S("abcdefghij")); in test7()
848 test(S("abcdefghij"), 10, 0, "12345", 1, S("abcdefghij1")); in test7()
849 test(S("abcdefghij"), 10, 0, "12345", 2, S("abcdefghij12")); in test7()
850 test(S("abcdefghij"), 10, 0, "12345", 4, S("abcdefghij1234")); in test7()
851 test(S("abcdefghij"), 10, 0, "12345", 5, S("abcdefghij12345")); in test7()
852 test(S("abcdefghij"), 10, 0, "1234567890", 0, S("abcdefghij")); in test7()
853 test(S("abcdefghij"), 10, 0, "1234567890", 1, S("abcdefghij1")); in test7()
854 test(S("abcdefghij"), 10, 0, "1234567890", 5, S("abcdefghij12345")); in test7()
855 test(S("abcdefghij"), 10, 0, "1234567890", 9, S("abcdefghij123456789")); in test7()
856 test(S("abcdefghij"), 10, 0, "1234567890", 10, S("abcdefghij1234567890")); in test7()
857 test(S("abcdefghij"), 10, 0, "12345678901234567890", 0, S("abcdefghij")); in test7()
858 test(S("abcdefghij"), 10, 0, "12345678901234567890", 1, S("abcdefghij1")); in test7()
859 test(S("abcdefghij"), 10, 0, "12345678901234567890", 10, S("abcdefghij1234567890")); in test7()
860 test(S("abcdefghij"), 10, 0, "12345678901234567890", 19, S("abcdefghij1234567890123456789")); in test7()
861 test(S("abcdefghij"), 10, 0, "12345678901234567890", 20, S("abcdefghij12345678901234567890")); in test7()
862 test(S("abcdefghij"), 10, 1, "", 0, S("abcdefghij")); in test7()
863 test(S("abcdefghij"), 10, 1, "12345", 0, S("abcdefghij")); in test7()
864 test(S("abcdefghij"), 10, 1, "12345", 1, S("abcdefghij1")); in test7()
865 test(S("abcdefghij"), 10, 1, "12345", 2, S("abcdefghij12")); in test7()
866 test(S("abcdefghij"), 10, 1, "12345", 4, S("abcdefghij1234")); in test7()
867 test(S("abcdefghij"), 10, 1, "12345", 5, S("abcdefghij12345")); in test7()
868 test(S("abcdefghij"), 10, 1, "1234567890", 0, S("abcdefghij")); in test7()
869 test(S("abcdefghij"), 10, 1, "1234567890", 1, S("abcdefghij1")); in test7()
870 test(S("abcdefghij"), 10, 1, "1234567890", 5, S("abcdefghij12345")); in test7()
871 test(S("abcdefghij"), 10, 1, "1234567890", 9, S("abcdefghij123456789")); in test7()
872 test(S("abcdefghij"), 10, 1, "1234567890", 10, S("abcdefghij1234567890")); in test7()
873 test(S("abcdefghij"), 10, 1, "12345678901234567890", 0, S("abcdefghij")); in test7()
874 test(S("abcdefghij"), 10, 1, "12345678901234567890", 1, S("abcdefghij1")); in test7()
875 test(S("abcdefghij"), 10, 1, "12345678901234567890", 10, S("abcdefghij1234567890")); in test7()
876 test(S("abcdefghij"), 10, 1, "12345678901234567890", 19, S("abcdefghij1234567890123456789")); in test7()
877 test(S("abcdefghij"), 10, 1, "12345678901234567890", 20, S("abcdefghij12345678901234567890")); in test7()
878 test(S("abcdefghij"), 11, 0, "", 0, S("can't happen")); in test7()
879 test(S("abcdefghij"), 11, 0, "12345", 0, S("can't happen")); in test7()
880 test(S("abcdefghij"), 11, 0, "12345", 1, S("can't happen")); in test7()
881 test(S("abcdefghij"), 11, 0, "12345", 2, S("can't happen")); in test7()
882 test(S("abcdefghij"), 11, 0, "12345", 4, S("can't happen")); in test7()
883 test(S("abcdefghij"), 11, 0, "12345", 5, S("can't happen")); in test7()
884 test(S("abcdefghij"), 11, 0, "1234567890", 0, S("can't happen")); in test7()
885 test(S("abcdefghij"), 11, 0, "1234567890", 1, S("can't happen")); in test7()
886 test(S("abcdefghij"), 11, 0, "1234567890", 5, S("can't happen")); in test7()
887 test(S("abcdefghij"), 11, 0, "1234567890", 9, S("can't happen")); in test7()
888 test(S("abcdefghij"), 11, 0, "1234567890", 10, S("can't happen")); in test7()
889 test(S("abcdefghij"), 11, 0, "12345678901234567890", 0, S("can't happen")); in test7()
890 test(S("abcdefghij"), 11, 0, "12345678901234567890", 1, S("can't happen")); in test7()
891 test(S("abcdefghij"), 11, 0, "12345678901234567890", 10, S("can't happen")); in test7()
892 test(S("abcdefghij"), 11, 0, "12345678901234567890", 19, S("can't happen")); in test7()
893 test(S("abcdefghij"), 11, 0, "12345678901234567890", 20, S("can't happen")); in test7()
896 template <class S>
899 test(S("abcdefghijklmnopqrst"), 0, 0, "", 0, S("abcdefghijklmnopqrst")); in test8()
900 test(S("abcdefghijklmnopqrst"), 0, 0, "12345", 0, S("abcdefghijklmnopqrst")); in test8()
901 test(S("abcdefghijklmnopqrst"), 0, 0, "12345", 1, S("1abcdefghijklmnopqrst")); in test8()
902 test(S("abcdefghijklmnopqrst"), 0, 0, "12345", 2, S("12abcdefghijklmnopqrst")); in test8()
903 test(S("abcdefghijklmnopqrst"), 0, 0, "12345", 4, S("1234abcdefghijklmnopqrst")); in test8()
904 test(S("abcdefghijklmnopqrst"), 0, 0, "12345", 5, S("12345abcdefghijklmnopqrst")); in test8()
905 test(S("abcdefghijklmnopqrst"), 0, 0, "1234567890", 0, S("abcdefghijklmnopqrst")); in test8()
906 test(S("abcdefghijklmnopqrst"), 0, 0, "1234567890", 1, S("1abcdefghijklmnopqrst")); in test8()
907 test(S("abcdefghijklmnopqrst"), 0, 0, "1234567890", 5, S("12345abcdefghijklmnopqrst")); in test8()
908 test(S("abcdefghijklmnopqrst"), 0, 0, "1234567890", 9, S("123456789abcdefghijklmnopqrst")); in test8()
909 test(S("abcdefghijklmnopqrst"), 0, 0, "1234567890", 10, S("1234567890abcdefghijklmnopqrst")); in test8()
910 test(S("abcdefghijklmnopqrst"), 0, 0, "12345678901234567890", 0, S("abcdefghijklmnopqrst")); in test8()
911 test(S("abcdefghijklmnopqrst"), 0, 0, "12345678901234567890", 1, S("1abcdefghijklmnopqrst")); in test8()
912 …test(S("abcdefghijklmnopqrst"), 0, 0, "12345678901234567890", 10, S("1234567890abcdefghijklmnopqrs… in test8()
913 …test(S("abcdefghijklmnopqrst"), 0, 0, "12345678901234567890", 19, S("1234567890123456789abcdefghij… in test8()
914 …test(S("abcdefghijklmnopqrst"), 0, 0, "12345678901234567890", 20, S("12345678901234567890abcdefghi… in test8()
915 test(S("abcdefghijklmnopqrst"), 0, 1, "", 0, S("bcdefghijklmnopqrst")); in test8()
916 test(S("abcdefghijklmnopqrst"), 0, 1, "12345", 0, S("bcdefghijklmnopqrst")); in test8()
917 test(S("abcdefghijklmnopqrst"), 0, 1, "12345", 1, S("1bcdefghijklmnopqrst")); in test8()
918 test(S("abcdefghijklmnopqrst"), 0, 1, "12345", 2, S("12bcdefghijklmnopqrst")); in test8()
919 test(S("abcdefghijklmnopqrst"), 0, 1, "12345", 4, S("1234bcdefghijklmnopqrst")); in test8()
920 test(S("abcdefghijklmnopqrst"), 0, 1, "12345", 5, S("12345bcdefghijklmnopqrst")); in test8()
921 test(S("abcdefghijklmnopqrst"), 0, 1, "1234567890", 0, S("bcdefghijklmnopqrst")); in test8()
922 test(S("abcdefghijklmnopqrst"), 0, 1, "1234567890", 1, S("1bcdefghijklmnopqrst")); in test8()
923 test(S("abcdefghijklmnopqrst"), 0, 1, "1234567890", 5, S("12345bcdefghijklmnopqrst")); in test8()
924 test(S("abcdefghijklmnopqrst"), 0, 1, "1234567890", 9, S("123456789bcdefghijklmnopqrst")); in test8()
925 test(S("abcdefghijklmnopqrst"), 0, 1, "1234567890", 10, S("1234567890bcdefghijklmnopqrst")); in test8()
926 test(S("abcdefghijklmnopqrst"), 0, 1, "12345678901234567890", 0, S("bcdefghijklmnopqrst")); in test8()
927 test(S("abcdefghijklmnopqrst"), 0, 1, "12345678901234567890", 1, S("1bcdefghijklmnopqrst")); in test8()
928 …test(S("abcdefghijklmnopqrst"), 0, 1, "12345678901234567890", 10, S("1234567890bcdefghijklmnopqrst… in test8()
929 …test(S("abcdefghijklmnopqrst"), 0, 1, "12345678901234567890", 19, S("1234567890123456789bcdefghijk… in test8()
930 …test(S("abcdefghijklmnopqrst"), 0, 1, "12345678901234567890", 20, S("12345678901234567890bcdefghij… in test8()
931 test(S("abcdefghijklmnopqrst"), 0, 10, "", 0, S("klmnopqrst")); in test8()
932 test(S("abcdefghijklmnopqrst"), 0, 10, "12345", 0, S("klmnopqrst")); in test8()
933 test(S("abcdefghijklmnopqrst"), 0, 10, "12345", 1, S("1klmnopqrst")); in test8()
934 test(S("abcdefghijklmnopqrst"), 0, 10, "12345", 2, S("12klmnopqrst")); in test8()
935 test(S("abcdefghijklmnopqrst"), 0, 10, "12345", 4, S("1234klmnopqrst")); in test8()
936 test(S("abcdefghijklmnopqrst"), 0, 10, "12345", 5, S("12345klmnopqrst")); in test8()
937 test(S("abcdefghijklmnopqrst"), 0, 10, "1234567890", 0, S("klmnopqrst")); in test8()
938 test(S("abcdefghijklmnopqrst"), 0, 10, "1234567890", 1, S("1klmnopqrst")); in test8()
939 test(S("abcdefghijklmnopqrst"), 0, 10, "1234567890", 5, S("12345klmnopqrst")); in test8()
940 test(S("abcdefghijklmnopqrst"), 0, 10, "1234567890", 9, S("123456789klmnopqrst")); in test8()
941 test(S("abcdefghijklmnopqrst"), 0, 10, "1234567890", 10, S("1234567890klmnopqrst")); in test8()
942 test(S("abcdefghijklmnopqrst"), 0, 10, "12345678901234567890", 0, S("klmnopqrst")); in test8()
943 test(S("abcdefghijklmnopqrst"), 0, 10, "12345678901234567890", 1, S("1klmnopqrst")); in test8()
944 test(S("abcdefghijklmnopqrst"), 0, 10, "12345678901234567890", 10, S("1234567890klmnopqrst")); in test8()
945 …test(S("abcdefghijklmnopqrst"), 0, 10, "12345678901234567890", 19, S("1234567890123456789klmnopqrs… in test8()
946 …test(S("abcdefghijklmnopqrst"), 0, 10, "12345678901234567890", 20, S("12345678901234567890klmnopqr… in test8()
947 test(S("abcdefghijklmnopqrst"), 0, 19, "", 0, S("t")); in test8()
948 test(S("abcdefghijklmnopqrst"), 0, 19, "12345", 0, S("t")); in test8()
949 test(S("abcdefghijklmnopqrst"), 0, 19, "12345", 1, S("1t")); in test8()
950 test(S("abcdefghijklmnopqrst"), 0, 19, "12345", 2, S("12t")); in test8()
951 test(S("abcdefghijklmnopqrst"), 0, 19, "12345", 4, S("1234t")); in test8()
952 test(S("abcdefghijklmnopqrst"), 0, 19, "12345", 5, S("12345t")); in test8()
953 test(S("abcdefghijklmnopqrst"), 0, 19, "1234567890", 0, S("t")); in test8()
954 test(S("abcdefghijklmnopqrst"), 0, 19, "1234567890", 1, S("1t")); in test8()
955 test(S("abcdefghijklmnopqrst"), 0, 19, "1234567890", 5, S("12345t")); in test8()
956 test(S("abcdefghijklmnopqrst"), 0, 19, "1234567890", 9, S("123456789t")); in test8()
957 test(S("abcdefghijklmnopqrst"), 0, 19, "1234567890", 10, S("1234567890t")); in test8()
958 test(S("abcdefghijklmnopqrst"), 0, 19, "12345678901234567890", 0, S("t")); in test8()
959 test(S("abcdefghijklmnopqrst"), 0, 19, "12345678901234567890", 1, S("1t")); in test8()
960 test(S("abcdefghijklmnopqrst"), 0, 19, "12345678901234567890", 10, S("1234567890t")); in test8()
961 test(S("abcdefghijklmnopqrst"), 0, 19, "12345678901234567890", 19, S("1234567890123456789t")); in test8()
962 test(S("abcdefghijklmnopqrst"), 0, 19, "12345678901234567890", 20, S("12345678901234567890t")); in test8()
963 test(S("abcdefghijklmnopqrst"), 0, 20, "", 0, S("")); in test8()
964 test(S("abcdefghijklmnopqrst"), 0, 20, "12345", 0, S("")); in test8()
965 test(S("abcdefghijklmnopqrst"), 0, 20, "12345", 1, S("1")); in test8()
966 test(S("abcdefghijklmnopqrst"), 0, 20, "12345", 2, S("12")); in test8()
967 test(S("abcdefghijklmnopqrst"), 0, 20, "12345", 4, S("1234")); in test8()
968 test(S("abcdefghijklmnopqrst"), 0, 20, "12345", 5, S("12345")); in test8()
969 test(S("abcdefghijklmnopqrst"), 0, 20, "1234567890", 0, S("")); in test8()
970 test(S("abcdefghijklmnopqrst"), 0, 20, "1234567890", 1, S("1")); in test8()
971 test(S("abcdefghijklmnopqrst"), 0, 20, "1234567890", 5, S("12345")); in test8()
972 test(S("abcdefghijklmnopqrst"), 0, 20, "1234567890", 9, S("123456789")); in test8()
973 test(S("abcdefghijklmnopqrst"), 0, 20, "1234567890", 10, S("1234567890")); in test8()
974 test(S("abcdefghijklmnopqrst"), 0, 20, "12345678901234567890", 0, S("")); in test8()
975 test(S("abcdefghijklmnopqrst"), 0, 20, "12345678901234567890", 1, S("1")); in test8()
976 test(S("abcdefghijklmnopqrst"), 0, 20, "12345678901234567890", 10, S("1234567890")); in test8()
977 test(S("abcdefghijklmnopqrst"), 0, 20, "12345678901234567890", 19, S("1234567890123456789")); in test8()
978 test(S("abcdefghijklmnopqrst"), 0, 20, "12345678901234567890", 20, S("12345678901234567890")); in test8()
979 test(S("abcdefghijklmnopqrst"), 0, 21, "", 0, S("")); in test8()
980 test(S("abcdefghijklmnopqrst"), 0, 21, "12345", 0, S("")); in test8()
981 test(S("abcdefghijklmnopqrst"), 0, 21, "12345", 1, S("1")); in test8()
982 test(S("abcdefghijklmnopqrst"), 0, 21, "12345", 2, S("12")); in test8()
983 test(S("abcdefghijklmnopqrst"), 0, 21, "12345", 4, S("1234")); in test8()
984 test(S("abcdefghijklmnopqrst"), 0, 21, "12345", 5, S("12345")); in test8()
985 test(S("abcdefghijklmnopqrst"), 0, 21, "1234567890", 0, S("")); in test8()
986 test(S("abcdefghijklmnopqrst"), 0, 21, "1234567890", 1, S("1")); in test8()
987 test(S("abcdefghijklmnopqrst"), 0, 21, "1234567890", 5, S("12345")); in test8()
988 test(S("abcdefghijklmnopqrst"), 0, 21, "1234567890", 9, S("123456789")); in test8()
989 test(S("abcdefghijklmnopqrst"), 0, 21, "1234567890", 10, S("1234567890")); in test8()
990 test(S("abcdefghijklmnopqrst"), 0, 21, "12345678901234567890", 0, S("")); in test8()
991 test(S("abcdefghijklmnopqrst"), 0, 21, "12345678901234567890", 1, S("1")); in test8()
992 test(S("abcdefghijklmnopqrst"), 0, 21, "12345678901234567890", 10, S("1234567890")); in test8()
993 test(S("abcdefghijklmnopqrst"), 0, 21, "12345678901234567890", 19, S("1234567890123456789")); in test8()
994 test(S("abcdefghijklmnopqrst"), 0, 21, "12345678901234567890", 20, S("12345678901234567890")); in test8()
995 test(S("abcdefghijklmnopqrst"), 1, 0, "", 0, S("abcdefghijklmnopqrst")); in test8()
996 test(S("abcdefghijklmnopqrst"), 1, 0, "12345", 0, S("abcdefghijklmnopqrst")); in test8()
997 test(S("abcdefghijklmnopqrst"), 1, 0, "12345", 1, S("a1bcdefghijklmnopqrst")); in test8()
998 test(S("abcdefghijklmnopqrst"), 1, 0, "12345", 2, S("a12bcdefghijklmnopqrst")); in test8()
1001 template <class S>
1004 test(S("abcdefghijklmnopqrst"), 1, 0, "12345", 4, S("a1234bcdefghijklmnopqrst")); in test9()
1005 test(S("abcdefghijklmnopqrst"), 1, 0, "12345", 5, S("a12345bcdefghijklmnopqrst")); in test9()
1006 test(S("abcdefghijklmnopqrst"), 1, 0, "1234567890", 0, S("abcdefghijklmnopqrst")); in test9()
1007 test(S("abcdefghijklmnopqrst"), 1, 0, "1234567890", 1, S("a1bcdefghijklmnopqrst")); in test9()
1008 test(S("abcdefghijklmnopqrst"), 1, 0, "1234567890", 5, S("a12345bcdefghijklmnopqrst")); in test9()
1009 test(S("abcdefghijklmnopqrst"), 1, 0, "1234567890", 9, S("a123456789bcdefghijklmnopqrst")); in test9()
1010 test(S("abcdefghijklmnopqrst"), 1, 0, "1234567890", 10, S("a1234567890bcdefghijklmnopqrst")); in test9()
1011 test(S("abcdefghijklmnopqrst"), 1, 0, "12345678901234567890", 0, S("abcdefghijklmnopqrst")); in test9()
1012 test(S("abcdefghijklmnopqrst"), 1, 0, "12345678901234567890", 1, S("a1bcdefghijklmnopqrst")); in test9()
1013 …test(S("abcdefghijklmnopqrst"), 1, 0, "12345678901234567890", 10, S("a1234567890bcdefghijklmnopqrs… in test9()
1014 …test(S("abcdefghijklmnopqrst"), 1, 0, "12345678901234567890", 19, S("a1234567890123456789bcdefghij… in test9()
1015 …test(S("abcdefghijklmnopqrst"), 1, 0, "12345678901234567890", 20, S("a12345678901234567890bcdefghi… in test9()
1016 test(S("abcdefghijklmnopqrst"), 1, 1, "", 0, S("acdefghijklmnopqrst")); in test9()
1017 test(S("abcdefghijklmnopqrst"), 1, 1, "12345", 0, S("acdefghijklmnopqrst")); in test9()
1018 test(S("abcdefghijklmnopqrst"), 1, 1, "12345", 1, S("a1cdefghijklmnopqrst")); in test9()
1019 test(S("abcdefghijklmnopqrst"), 1, 1, "12345", 2, S("a12cdefghijklmnopqrst")); in test9()
1020 test(S("abcdefghijklmnopqrst"), 1, 1, "12345", 4, S("a1234cdefghijklmnopqrst")); in test9()
1021 test(S("abcdefghijklmnopqrst"), 1, 1, "12345", 5, S("a12345cdefghijklmnopqrst")); in test9()
1022 test(S("abcdefghijklmnopqrst"), 1, 1, "1234567890", 0, S("acdefghijklmnopqrst")); in test9()
1023 test(S("abcdefghijklmnopqrst"), 1, 1, "1234567890", 1, S("a1cdefghijklmnopqrst")); in test9()
1024 test(S("abcdefghijklmnopqrst"), 1, 1, "1234567890", 5, S("a12345cdefghijklmnopqrst")); in test9()
1025 test(S("abcdefghijklmnopqrst"), 1, 1, "1234567890", 9, S("a123456789cdefghijklmnopqrst")); in test9()
1026 test(S("abcdefghijklmnopqrst"), 1, 1, "1234567890", 10, S("a1234567890cdefghijklmnopqrst")); in test9()
1027 test(S("abcdefghijklmnopqrst"), 1, 1, "12345678901234567890", 0, S("acdefghijklmnopqrst")); in test9()
1028 test(S("abcdefghijklmnopqrst"), 1, 1, "12345678901234567890", 1, S("a1cdefghijklmnopqrst")); in test9()
1029 …test(S("abcdefghijklmnopqrst"), 1, 1, "12345678901234567890", 10, S("a1234567890cdefghijklmnopqrst… in test9()
1030 …test(S("abcdefghijklmnopqrst"), 1, 1, "12345678901234567890", 19, S("a1234567890123456789cdefghijk… in test9()
1031 …test(S("abcdefghijklmnopqrst"), 1, 1, "12345678901234567890", 20, S("a12345678901234567890cdefghij… in test9()
1032 test(S("abcdefghijklmnopqrst"), 1, 9, "", 0, S("aklmnopqrst")); in test9()
1033 test(S("abcdefghijklmnopqrst"), 1, 9, "12345", 0, S("aklmnopqrst")); in test9()
1034 test(S("abcdefghijklmnopqrst"), 1, 9, "12345", 1, S("a1klmnopqrst")); in test9()
1035 test(S("abcdefghijklmnopqrst"), 1, 9, "12345", 2, S("a12klmnopqrst")); in test9()
1036 test(S("abcdefghijklmnopqrst"), 1, 9, "12345", 4, S("a1234klmnopqrst")); in test9()
1037 test(S("abcdefghijklmnopqrst"), 1, 9, "12345", 5, S("a12345klmnopqrst")); in test9()
1038 test(S("abcdefghijklmnopqrst"), 1, 9, "1234567890", 0, S("aklmnopqrst")); in test9()
1039 test(S("abcdefghijklmnopqrst"), 1, 9, "1234567890", 1, S("a1klmnopqrst")); in test9()
1040 test(S("abcdefghijklmnopqrst"), 1, 9, "1234567890", 5, S("a12345klmnopqrst")); in test9()
1041 test(S("abcdefghijklmnopqrst"), 1, 9, "1234567890", 9, S("a123456789klmnopqrst")); in test9()
1042 test(S("abcdefghijklmnopqrst"), 1, 9, "1234567890", 10, S("a1234567890klmnopqrst")); in test9()
1043 test(S("abcdefghijklmnopqrst"), 1, 9, "12345678901234567890", 0, S("aklmnopqrst")); in test9()
1044 test(S("abcdefghijklmnopqrst"), 1, 9, "12345678901234567890", 1, S("a1klmnopqrst")); in test9()
1045 test(S("abcdefghijklmnopqrst"), 1, 9, "12345678901234567890", 10, S("a1234567890klmnopqrst")); in test9()
1046 …test(S("abcdefghijklmnopqrst"), 1, 9, "12345678901234567890", 19, S("a1234567890123456789klmnopqrs… in test9()
1047 …test(S("abcdefghijklmnopqrst"), 1, 9, "12345678901234567890", 20, S("a12345678901234567890klmnopqr… in test9()
1048 test(S("abcdefghijklmnopqrst"), 1, 18, "", 0, S("at")); in test9()
1049 test(S("abcdefghijklmnopqrst"), 1, 18, "12345", 0, S("at")); in test9()
1050 test(S("abcdefghijklmnopqrst"), 1, 18, "12345", 1, S("a1t")); in test9()
1051 test(S("abcdefghijklmnopqrst"), 1, 18, "12345", 2, S("a12t")); in test9()
1052 test(S("abcdefghijklmnopqrst"), 1, 18, "12345", 4, S("a1234t")); in test9()
1053 test(S("abcdefghijklmnopqrst"), 1, 18, "12345", 5, S("a12345t")); in test9()
1054 test(S("abcdefghijklmnopqrst"), 1, 18, "1234567890", 0, S("at")); in test9()
1055 test(S("abcdefghijklmnopqrst"), 1, 18, "1234567890", 1, S("a1t")); in test9()
1056 test(S("abcdefghijklmnopqrst"), 1, 18, "1234567890", 5, S("a12345t")); in test9()
1057 test(S("abcdefghijklmnopqrst"), 1, 18, "1234567890", 9, S("a123456789t")); in test9()
1058 test(S("abcdefghijklmnopqrst"), 1, 18, "1234567890", 10, S("a1234567890t")); in test9()
1059 test(S("abcdefghijklmnopqrst"), 1, 18, "12345678901234567890", 0, S("at")); in test9()
1060 test(S("abcdefghijklmnopqrst"), 1, 18, "12345678901234567890", 1, S("a1t")); in test9()
1061 test(S("abcdefghijklmnopqrst"), 1, 18, "12345678901234567890", 10, S("a1234567890t")); in test9()
1062 test(S("abcdefghijklmnopqrst"), 1, 18, "12345678901234567890", 19, S("a1234567890123456789t")); in test9()
1063 test(S("abcdefghijklmnopqrst"), 1, 18, "12345678901234567890", 20, S("a12345678901234567890t")); in test9()
1064 test(S("abcdefghijklmnopqrst"), 1, 19, "", 0, S("a")); in test9()
1065 test(S("abcdefghijklmnopqrst"), 1, 19, "12345", 0, S("a")); in test9()
1066 test(S("abcdefghijklmnopqrst"), 1, 19, "12345", 1, S("a1")); in test9()
1067 test(S("abcdefghijklmnopqrst"), 1, 19, "12345", 2, S("a12")); in test9()
1068 test(S("abcdefghijklmnopqrst"), 1, 19, "12345", 4, S("a1234")); in test9()
1069 test(S("abcdefghijklmnopqrst"), 1, 19, "12345", 5, S("a12345")); in test9()
1070 test(S("abcdefghijklmnopqrst"), 1, 19, "1234567890", 0, S("a")); in test9()
1071 test(S("abcdefghijklmnopqrst"), 1, 19, "1234567890", 1, S("a1")); in test9()
1072 test(S("abcdefghijklmnopqrst"), 1, 19, "1234567890", 5, S("a12345")); in test9()
1073 test(S("abcdefghijklmnopqrst"), 1, 19, "1234567890", 9, S("a123456789")); in test9()
1074 test(S("abcdefghijklmnopqrst"), 1, 19, "1234567890", 10, S("a1234567890")); in test9()
1075 test(S("abcdefghijklmnopqrst"), 1, 19, "12345678901234567890", 0, S("a")); in test9()
1076 test(S("abcdefghijklmnopqrst"), 1, 19, "12345678901234567890", 1, S("a1")); in test9()
1077 test(S("abcdefghijklmnopqrst"), 1, 19, "12345678901234567890", 10, S("a1234567890")); in test9()
1078 test(S("abcdefghijklmnopqrst"), 1, 19, "12345678901234567890", 19, S("a1234567890123456789")); in test9()
1079 test(S("abcdefghijklmnopqrst"), 1, 19, "12345678901234567890", 20, S("a12345678901234567890")); in test9()
1080 test(S("abcdefghijklmnopqrst"), 1, 20, "", 0, S("a")); in test9()
1081 test(S("abcdefghijklmnopqrst"), 1, 20, "12345", 0, S("a")); in test9()
1082 test(S("abcdefghijklmnopqrst"), 1, 20, "12345", 1, S("a1")); in test9()
1083 test(S("abcdefghijklmnopqrst"), 1, 20, "12345", 2, S("a12")); in test9()
1084 test(S("abcdefghijklmnopqrst"), 1, 20, "12345", 4, S("a1234")); in test9()
1085 test(S("abcdefghijklmnopqrst"), 1, 20, "12345", 5, S("a12345")); in test9()
1086 test(S("abcdefghijklmnopqrst"), 1, 20, "1234567890", 0, S("a")); in test9()
1087 test(S("abcdefghijklmnopqrst"), 1, 20, "1234567890", 1, S("a1")); in test9()
1088 test(S("abcdefghijklmnopqrst"), 1, 20, "1234567890", 5, S("a12345")); in test9()
1089 test(S("abcdefghijklmnopqrst"), 1, 20, "1234567890", 9, S("a123456789")); in test9()
1090 test(S("abcdefghijklmnopqrst"), 1, 20, "1234567890", 10, S("a1234567890")); in test9()
1091 test(S("abcdefghijklmnopqrst"), 1, 20, "12345678901234567890", 0, S("a")); in test9()
1092 test(S("abcdefghijklmnopqrst"), 1, 20, "12345678901234567890", 1, S("a1")); in test9()
1093 test(S("abcdefghijklmnopqrst"), 1, 20, "12345678901234567890", 10, S("a1234567890")); in test9()
1094 test(S("abcdefghijklmnopqrst"), 1, 20, "12345678901234567890", 19, S("a1234567890123456789")); in test9()
1095 test(S("abcdefghijklmnopqrst"), 1, 20, "12345678901234567890", 20, S("a12345678901234567890")); in test9()
1096 test(S("abcdefghijklmnopqrst"), 10, 0, "", 0, S("abcdefghijklmnopqrst")); in test9()
1097 test(S("abcdefghijklmnopqrst"), 10, 0, "12345", 0, S("abcdefghijklmnopqrst")); in test9()
1098 test(S("abcdefghijklmnopqrst"), 10, 0, "12345", 1, S("abcdefghij1klmnopqrst")); in test9()
1099 test(S("abcdefghijklmnopqrst"), 10, 0, "12345", 2, S("abcdefghij12klmnopqrst")); in test9()
1100 test(S("abcdefghijklmnopqrst"), 10, 0, "12345", 4, S("abcdefghij1234klmnopqrst")); in test9()
1101 test(S("abcdefghijklmnopqrst"), 10, 0, "12345", 5, S("abcdefghij12345klmnopqrst")); in test9()
1102 test(S("abcdefghijklmnopqrst"), 10, 0, "1234567890", 0, S("abcdefghijklmnopqrst")); in test9()
1103 test(S("abcdefghijklmnopqrst"), 10, 0, "1234567890", 1, S("abcdefghij1klmnopqrst")); in test9()
1106 template <class S>
1109 test(S("abcdefghijklmnopqrst"), 10, 0, "1234567890", 5, S("abcdefghij12345klmnopqrst")); in test10()
1110 test(S("abcdefghijklmnopqrst"), 10, 0, "1234567890", 9, S("abcdefghij123456789klmnopqrst")); in test10()
1111 test(S("abcdefghijklmnopqrst"), 10, 0, "1234567890", 10, S("abcdefghij1234567890klmnopqrst")); in test10()
1112 test(S("abcdefghijklmnopqrst"), 10, 0, "12345678901234567890", 0, S("abcdefghijklmnopqrst")); in test10()
1113 test(S("abcdefghijklmnopqrst"), 10, 0, "12345678901234567890", 1, S("abcdefghij1klmnopqrst")); in test10()
1114 …test(S("abcdefghijklmnopqrst"), 10, 0, "12345678901234567890", 10, S("abcdefghij1234567890klmnopqr… in test10()
1115 …test(S("abcdefghijklmnopqrst"), 10, 0, "12345678901234567890", 19, S("abcdefghij123456789012345678… in test10()
1116 …test(S("abcdefghijklmnopqrst"), 10, 0, "12345678901234567890", 20, S("abcdefghij123456789012345678… in test10()
1117 test(S("abcdefghijklmnopqrst"), 10, 1, "", 0, S("abcdefghijlmnopqrst")); in test10()
1118 test(S("abcdefghijklmnopqrst"), 10, 1, "12345", 0, S("abcdefghijlmnopqrst")); in test10()
1119 test(S("abcdefghijklmnopqrst"), 10, 1, "12345", 1, S("abcdefghij1lmnopqrst")); in test10()
1120 test(S("abcdefghijklmnopqrst"), 10, 1, "12345", 2, S("abcdefghij12lmnopqrst")); in test10()
1121 test(S("abcdefghijklmnopqrst"), 10, 1, "12345", 4, S("abcdefghij1234lmnopqrst")); in test10()
1122 test(S("abcdefghijklmnopqrst"), 10, 1, "12345", 5, S("abcdefghij12345lmnopqrst")); in test10()
1123 test(S("abcdefghijklmnopqrst"), 10, 1, "1234567890", 0, S("abcdefghijlmnopqrst")); in test10()
1124 test(S("abcdefghijklmnopqrst"), 10, 1, "1234567890", 1, S("abcdefghij1lmnopqrst")); in test10()
1125 test(S("abcdefghijklmnopqrst"), 10, 1, "1234567890", 5, S("abcdefghij12345lmnopqrst")); in test10()
1126 test(S("abcdefghijklmnopqrst"), 10, 1, "1234567890", 9, S("abcdefghij123456789lmnopqrst")); in test10()
1127 test(S("abcdefghijklmnopqrst"), 10, 1, "1234567890", 10, S("abcdefghij1234567890lmnopqrst")); in test10()
1128 test(S("abcdefghijklmnopqrst"), 10, 1, "12345678901234567890", 0, S("abcdefghijlmnopqrst")); in test10()
1129 test(S("abcdefghijklmnopqrst"), 10, 1, "12345678901234567890", 1, S("abcdefghij1lmnopqrst")); in test10()
1130 …test(S("abcdefghijklmnopqrst"), 10, 1, "12345678901234567890", 10, S("abcdefghij1234567890lmnopqrs… in test10()
1131 …test(S("abcdefghijklmnopqrst"), 10, 1, "12345678901234567890", 19, S("abcdefghij123456789012345678… in test10()
1132 …test(S("abcdefghijklmnopqrst"), 10, 1, "12345678901234567890", 20, S("abcdefghij123456789012345678… in test10()
1133 test(S("abcdefghijklmnopqrst"), 10, 5, "", 0, S("abcdefghijpqrst")); in test10()
1134 test(S("abcdefghijklmnopqrst"), 10, 5, "12345", 0, S("abcdefghijpqrst")); in test10()
1135 test(S("abcdefghijklmnopqrst"), 10, 5, "12345", 1, S("abcdefghij1pqrst")); in test10()
1136 test(S("abcdefghijklmnopqrst"), 10, 5, "12345", 2, S("abcdefghij12pqrst")); in test10()
1137 test(S("abcdefghijklmnopqrst"), 10, 5, "12345", 4, S("abcdefghij1234pqrst")); in test10()
1138 test(S("abcdefghijklmnopqrst"), 10, 5, "12345", 5, S("abcdefghij12345pqrst")); in test10()
1139 test(S("abcdefghijklmnopqrst"), 10, 5, "1234567890", 0, S("abcdefghijpqrst")); in test10()
1140 test(S("abcdefghijklmnopqrst"), 10, 5, "1234567890", 1, S("abcdefghij1pqrst")); in test10()
1141 test(S("abcdefghijklmnopqrst"), 10, 5, "1234567890", 5, S("abcdefghij12345pqrst")); in test10()
1142 test(S("abcdefghijklmnopqrst"), 10, 5, "1234567890", 9, S("abcdefghij123456789pqrst")); in test10()
1143 test(S("abcdefghijklmnopqrst"), 10, 5, "1234567890", 10, S("abcdefghij1234567890pqrst")); in test10()
1144 test(S("abcdefghijklmnopqrst"), 10, 5, "12345678901234567890", 0, S("abcdefghijpqrst")); in test10()
1145 test(S("abcdefghijklmnopqrst"), 10, 5, "12345678901234567890", 1, S("abcdefghij1pqrst")); in test10()
1146 …test(S("abcdefghijklmnopqrst"), 10, 5, "12345678901234567890", 10, S("abcdefghij1234567890pqrst")); in test10()
1147 …test(S("abcdefghijklmnopqrst"), 10, 5, "12345678901234567890", 19, S("abcdefghij123456789012345678… in test10()
1148 …test(S("abcdefghijklmnopqrst"), 10, 5, "12345678901234567890", 20, S("abcdefghij123456789012345678… in test10()
1149 test(S("abcdefghijklmnopqrst"), 10, 9, "", 0, S("abcdefghijt")); in test10()
1150 test(S("abcdefghijklmnopqrst"), 10, 9, "12345", 0, S("abcdefghijt")); in test10()
1151 test(S("abcdefghijklmnopqrst"), 10, 9, "12345", 1, S("abcdefghij1t")); in test10()
1152 test(S("abcdefghijklmnopqrst"), 10, 9, "12345", 2, S("abcdefghij12t")); in test10()
1153 test(S("abcdefghijklmnopqrst"), 10, 9, "12345", 4, S("abcdefghij1234t")); in test10()
1154 test(S("abcdefghijklmnopqrst"), 10, 9, "12345", 5, S("abcdefghij12345t")); in test10()
1155 test(S("abcdefghijklmnopqrst"), 10, 9, "1234567890", 0, S("abcdefghijt")); in test10()
1156 test(S("abcdefghijklmnopqrst"), 10, 9, "1234567890", 1, S("abcdefghij1t")); in test10()
1157 test(S("abcdefghijklmnopqrst"), 10, 9, "1234567890", 5, S("abcdefghij12345t")); in test10()
1158 test(S("abcdefghijklmnopqrst"), 10, 9, "1234567890", 9, S("abcdefghij123456789t")); in test10()
1159 test(S("abcdefghijklmnopqrst"), 10, 9, "1234567890", 10, S("abcdefghij1234567890t")); in test10()
1160 test(S("abcdefghijklmnopqrst"), 10, 9, "12345678901234567890", 0, S("abcdefghijt")); in test10()
1161 test(S("abcdefghijklmnopqrst"), 10, 9, "12345678901234567890", 1, S("abcdefghij1t")); in test10()
1162 test(S("abcdefghijklmnopqrst"), 10, 9, "12345678901234567890", 10, S("abcdefghij1234567890t")); in test10()
1163 …test(S("abcdefghijklmnopqrst"), 10, 9, "12345678901234567890", 19, S("abcdefghij123456789012345678… in test10()
1164 …test(S("abcdefghijklmnopqrst"), 10, 9, "12345678901234567890", 20, S("abcdefghij123456789012345678… in test10()
1165 test(S("abcdefghijklmnopqrst"), 10, 10, "", 0, S("abcdefghij")); in test10()
1166 test(S("abcdefghijklmnopqrst"), 10, 10, "12345", 0, S("abcdefghij")); in test10()
1167 test(S("abcdefghijklmnopqrst"), 10, 10, "12345", 1, S("abcdefghij1")); in test10()
1168 test(S("abcdefghijklmnopqrst"), 10, 10, "12345", 2, S("abcdefghij12")); in test10()
1169 test(S("abcdefghijklmnopqrst"), 10, 10, "12345", 4, S("abcdefghij1234")); in test10()
1170 test(S("abcdefghijklmnopqrst"), 10, 10, "12345", 5, S("abcdefghij12345")); in test10()
1171 test(S("abcdefghijklmnopqrst"), 10, 10, "1234567890", 0, S("abcdefghij")); in test10()
1172 test(S("abcdefghijklmnopqrst"), 10, 10, "1234567890", 1, S("abcdefghij1")); in test10()
1173 test(S("abcdefghijklmnopqrst"), 10, 10, "1234567890", 5, S("abcdefghij12345")); in test10()
1174 test(S("abcdefghijklmnopqrst"), 10, 10, "1234567890", 9, S("abcdefghij123456789")); in test10()
1175 test(S("abcdefghijklmnopqrst"), 10, 10, "1234567890", 10, S("abcdefghij1234567890")); in test10()
1176 test(S("abcdefghijklmnopqrst"), 10, 10, "12345678901234567890", 0, S("abcdefghij")); in test10()
1177 test(S("abcdefghijklmnopqrst"), 10, 10, "12345678901234567890", 1, S("abcdefghij1")); in test10()
1178 test(S("abcdefghijklmnopqrst"), 10, 10, "12345678901234567890", 10, S("abcdefghij1234567890")); in test10()
1179 …test(S("abcdefghijklmnopqrst"), 10, 10, "12345678901234567890", 19, S("abcdefghij12345678901234567… in test10()
1180 …test(S("abcdefghijklmnopqrst"), 10, 10, "12345678901234567890", 20, S("abcdefghij12345678901234567… in test10()
1181 test(S("abcdefghijklmnopqrst"), 10, 11, "", 0, S("abcdefghij")); in test10()
1182 test(S("abcdefghijklmnopqrst"), 10, 11, "12345", 0, S("abcdefghij")); in test10()
1183 test(S("abcdefghijklmnopqrst"), 10, 11, "12345", 1, S("abcdefghij1")); in test10()
1184 test(S("abcdefghijklmnopqrst"), 10, 11, "12345", 2, S("abcdefghij12")); in test10()
1185 test(S("abcdefghijklmnopqrst"), 10, 11, "12345", 4, S("abcdefghij1234")); in test10()
1186 test(S("abcdefghijklmnopqrst"), 10, 11, "12345", 5, S("abcdefghij12345")); in test10()
1187 test(S("abcdefghijklmnopqrst"), 10, 11, "1234567890", 0, S("abcdefghij")); in test10()
1188 test(S("abcdefghijklmnopqrst"), 10, 11, "1234567890", 1, S("abcdefghij1")); in test10()
1189 test(S("abcdefghijklmnopqrst"), 10, 11, "1234567890", 5, S("abcdefghij12345")); in test10()
1190 test(S("abcdefghijklmnopqrst"), 10, 11, "1234567890", 9, S("abcdefghij123456789")); in test10()
1191 test(S("abcdefghijklmnopqrst"), 10, 11, "1234567890", 10, S("abcdefghij1234567890")); in test10()
1192 test(S("abcdefghijklmnopqrst"), 10, 11, "12345678901234567890", 0, S("abcdefghij")); in test10()
1193 test(S("abcdefghijklmnopqrst"), 10, 11, "12345678901234567890", 1, S("abcdefghij1")); in test10()
1194 test(S("abcdefghijklmnopqrst"), 10, 11, "12345678901234567890", 10, S("abcdefghij1234567890")); in test10()
1195 …test(S("abcdefghijklmnopqrst"), 10, 11, "12345678901234567890", 19, S("abcdefghij12345678901234567… in test10()
1196 …test(S("abcdefghijklmnopqrst"), 10, 11, "12345678901234567890", 20, S("abcdefghij12345678901234567… in test10()
1197 test(S("abcdefghijklmnopqrst"), 19, 0, "", 0, S("abcdefghijklmnopqrst")); in test10()
1198 test(S("abcdefghijklmnopqrst"), 19, 0, "12345", 0, S("abcdefghijklmnopqrst")); in test10()
1199 test(S("abcdefghijklmnopqrst"), 19, 0, "12345", 1, S("abcdefghijklmnopqrs1t")); in test10()
1200 test(S("abcdefghijklmnopqrst"), 19, 0, "12345", 2, S("abcdefghijklmnopqrs12t")); in test10()
1201 test(S("abcdefghijklmnopqrst"), 19, 0, "12345", 4, S("abcdefghijklmnopqrs1234t")); in test10()
1202 test(S("abcdefghijklmnopqrst"), 19, 0, "12345", 5, S("abcdefghijklmnopqrs12345t")); in test10()
1203 test(S("abcdefghijklmnopqrst"), 19, 0, "1234567890", 0, S("abcdefghijklmnopqrst")); in test10()
1204 test(S("abcdefghijklmnopqrst"), 19, 0, "1234567890", 1, S("abcdefghijklmnopqrs1t")); in test10()
1205 test(S("abcdefghijklmnopqrst"), 19, 0, "1234567890", 5, S("abcdefghijklmnopqrs12345t")); in test10()
1206 test(S("abcdefghijklmnopqrst"), 19, 0, "1234567890", 9, S("abcdefghijklmnopqrs123456789t")); in test10()
1207 test(S("abcdefghijklmnopqrst"), 19, 0, "1234567890", 10, S("abcdefghijklmnopqrs1234567890t")); in test10()
1208 test(S("abcdefghijklmnopqrst"), 19, 0, "12345678901234567890", 0, S("abcdefghijklmnopqrst")); in test10()
1211 template <class S>
1214 test(S("abcdefghijklmnopqrst"), 19, 0, "12345678901234567890", 1, S("abcdefghijklmnopqrs1t")); in test11()
1215 …test(S("abcdefghijklmnopqrst"), 19, 0, "12345678901234567890", 10, S("abcdefghijklmnopqrs123456789… in test11()
1216 …test(S("abcdefghijklmnopqrst"), 19, 0, "12345678901234567890", 19, S("abcdefghijklmnopqrs123456789… in test11()
1217 …test(S("abcdefghijklmnopqrst"), 19, 0, "12345678901234567890", 20, S("abcdefghijklmnopqrs123456789… in test11()
1218 test(S("abcdefghijklmnopqrst"), 19, 1, "", 0, S("abcdefghijklmnopqrs")); in test11()
1219 test(S("abcdefghijklmnopqrst"), 19, 1, "12345", 0, S("abcdefghijklmnopqrs")); in test11()
1220 test(S("abcdefghijklmnopqrst"), 19, 1, "12345", 1, S("abcdefghijklmnopqrs1")); in test11()
1221 test(S("abcdefghijklmnopqrst"), 19, 1, "12345", 2, S("abcdefghijklmnopqrs12")); in test11()
1222 test(S("abcdefghijklmnopqrst"), 19, 1, "12345", 4, S("abcdefghijklmnopqrs1234")); in test11()
1223 test(S("abcdefghijklmnopqrst"), 19, 1, "12345", 5, S("abcdefghijklmnopqrs12345")); in test11()
1224 test(S("abcdefghijklmnopqrst"), 19, 1, "1234567890", 0, S("abcdefghijklmnopqrs")); in test11()
1225 test(S("abcdefghijklmnopqrst"), 19, 1, "1234567890", 1, S("abcdefghijklmnopqrs1")); in test11()
1226 test(S("abcdefghijklmnopqrst"), 19, 1, "1234567890", 5, S("abcdefghijklmnopqrs12345")); in test11()
1227 test(S("abcdefghijklmnopqrst"), 19, 1, "1234567890", 9, S("abcdefghijklmnopqrs123456789")); in test11()
1228 test(S("abcdefghijklmnopqrst"), 19, 1, "1234567890", 10, S("abcdefghijklmnopqrs1234567890")); in test11()
1229 test(S("abcdefghijklmnopqrst"), 19, 1, "12345678901234567890", 0, S("abcdefghijklmnopqrs")); in test11()
1230 test(S("abcdefghijklmnopqrst"), 19, 1, "12345678901234567890", 1, S("abcdefghijklmnopqrs1")); in test11()
1231 …test(S("abcdefghijklmnopqrst"), 19, 1, "12345678901234567890", 10, S("abcdefghijklmnopqrs123456789… in test11()
1232 …test(S("abcdefghijklmnopqrst"), 19, 1, "12345678901234567890", 19, S("abcdefghijklmnopqrs123456789… in test11()
1233 …test(S("abcdefghijklmnopqrst"), 19, 1, "12345678901234567890", 20, S("abcdefghijklmnopqrs123456789… in test11()
1234 test(S("abcdefghijklmnopqrst"), 19, 2, "", 0, S("abcdefghijklmnopqrs")); in test11()
1235 test(S("abcdefghijklmnopqrst"), 19, 2, "12345", 0, S("abcdefghijklmnopqrs")); in test11()
1236 test(S("abcdefghijklmnopqrst"), 19, 2, "12345", 1, S("abcdefghijklmnopqrs1")); in test11()
1237 test(S("abcdefghijklmnopqrst"), 19, 2, "12345", 2, S("abcdefghijklmnopqrs12")); in test11()
1238 test(S("abcdefghijklmnopqrst"), 19, 2, "12345", 4, S("abcdefghijklmnopqrs1234")); in test11()
1239 test(S("abcdefghijklmnopqrst"), 19, 2, "12345", 5, S("abcdefghijklmnopqrs12345")); in test11()
1240 test(S("abcdefghijklmnopqrst"), 19, 2, "1234567890", 0, S("abcdefghijklmnopqrs")); in test11()
1241 test(S("abcdefghijklmnopqrst"), 19, 2, "1234567890", 1, S("abcdefghijklmnopqrs1")); in test11()
1242 test(S("abcdefghijklmnopqrst"), 19, 2, "1234567890", 5, S("abcdefghijklmnopqrs12345")); in test11()
1243 test(S("abcdefghijklmnopqrst"), 19, 2, "1234567890", 9, S("abcdefghijklmnopqrs123456789")); in test11()
1244 test(S("abcdefghijklmnopqrst"), 19, 2, "1234567890", 10, S("abcdefghijklmnopqrs1234567890")); in test11()
1245 test(S("abcdefghijklmnopqrst"), 19, 2, "12345678901234567890", 0, S("abcdefghijklmnopqrs")); in test11()
1246 test(S("abcdefghijklmnopqrst"), 19, 2, "12345678901234567890", 1, S("abcdefghijklmnopqrs1")); in test11()
1247 …test(S("abcdefghijklmnopqrst"), 19, 2, "12345678901234567890", 10, S("abcdefghijklmnopqrs123456789… in test11()
1248 …test(S("abcdefghijklmnopqrst"), 19, 2, "12345678901234567890", 19, S("abcdefghijklmnopqrs123456789… in test11()
1249 …test(S("abcdefghijklmnopqrst"), 19, 2, "12345678901234567890", 20, S("abcdefghijklmnopqrs123456789… in test11()
1250 test(S("abcdefghijklmnopqrst"), 20, 0, "", 0, S("abcdefghijklmnopqrst")); in test11()
1251 test(S("abcdefghijklmnopqrst"), 20, 0, "12345", 0, S("abcdefghijklmnopqrst")); in test11()
1252 test(S("abcdefghijklmnopqrst"), 20, 0, "12345", 1, S("abcdefghijklmnopqrst1")); in test11()
1253 test(S("abcdefghijklmnopqrst"), 20, 0, "12345", 2, S("abcdefghijklmnopqrst12")); in test11()
1254 test(S("abcdefghijklmnopqrst"), 20, 0, "12345", 4, S("abcdefghijklmnopqrst1234")); in test11()
1255 test(S("abcdefghijklmnopqrst"), 20, 0, "12345", 5, S("abcdefghijklmnopqrst12345")); in test11()
1256 test(S("abcdefghijklmnopqrst"), 20, 0, "1234567890", 0, S("abcdefghijklmnopqrst")); in test11()
1257 test(S("abcdefghijklmnopqrst"), 20, 0, "1234567890", 1, S("abcdefghijklmnopqrst1")); in test11()
1258 test(S("abcdefghijklmnopqrst"), 20, 0, "1234567890", 5, S("abcdefghijklmnopqrst12345")); in test11()
1259 test(S("abcdefghijklmnopqrst"), 20, 0, "1234567890", 9, S("abcdefghijklmnopqrst123456789")); in test11()
1260 test(S("abcdefghijklmnopqrst"), 20, 0, "1234567890", 10, S("abcdefghijklmnopqrst1234567890")); in test11()
1261 test(S("abcdefghijklmnopqrst"), 20, 0, "12345678901234567890", 0, S("abcdefghijklmnopqrst")); in test11()
1262 test(S("abcdefghijklmnopqrst"), 20, 0, "12345678901234567890", 1, S("abcdefghijklmnopqrst1")); in test11()
1263 …test(S("abcdefghijklmnopqrst"), 20, 0, "12345678901234567890", 10, S("abcdefghijklmnopqrst12345678… in test11()
1264 …test(S("abcdefghijklmnopqrst"), 20, 0, "12345678901234567890", 19, S("abcdefghijklmnopqrst12345678… in test11()
1265 …test(S("abcdefghijklmnopqrst"), 20, 0, "12345678901234567890", 20, S("abcdefghijklmnopqrst12345678… in test11()
1266 test(S("abcdefghijklmnopqrst"), 20, 1, "", 0, S("abcdefghijklmnopqrst")); in test11()
1267 test(S("abcdefghijklmnopqrst"), 20, 1, "12345", 0, S("abcdefghijklmnopqrst")); in test11()
1268 test(S("abcdefghijklmnopqrst"), 20, 1, "12345", 1, S("abcdefghijklmnopqrst1")); in test11()
1269 test(S("abcdefghijklmnopqrst"), 20, 1, "12345", 2, S("abcdefghijklmnopqrst12")); in test11()
1270 test(S("abcdefghijklmnopqrst"), 20, 1, "12345", 4, S("abcdefghijklmnopqrst1234")); in test11()
1271 test(S("abcdefghijklmnopqrst"), 20, 1, "12345", 5, S("abcdefghijklmnopqrst12345")); in test11()
1272 test(S("abcdefghijklmnopqrst"), 20, 1, "1234567890", 0, S("abcdefghijklmnopqrst")); in test11()
1273 test(S("abcdefghijklmnopqrst"), 20, 1, "1234567890", 1, S("abcdefghijklmnopqrst1")); in test11()
1274 test(S("abcdefghijklmnopqrst"), 20, 1, "1234567890", 5, S("abcdefghijklmnopqrst12345")); in test11()
1275 test(S("abcdefghijklmnopqrst"), 20, 1, "1234567890", 9, S("abcdefghijklmnopqrst123456789")); in test11()
1276 test(S("abcdefghijklmnopqrst"), 20, 1, "1234567890", 10, S("abcdefghijklmnopqrst1234567890")); in test11()
1277 test(S("abcdefghijklmnopqrst"), 20, 1, "12345678901234567890", 0, S("abcdefghijklmnopqrst")); in test11()
1278 test(S("abcdefghijklmnopqrst"), 20, 1, "12345678901234567890", 1, S("abcdefghijklmnopqrst1")); in test11()
1279 …test(S("abcdefghijklmnopqrst"), 20, 1, "12345678901234567890", 10, S("abcdefghijklmnopqrst12345678… in test11()
1280 …test(S("abcdefghijklmnopqrst"), 20, 1, "12345678901234567890", 19, S("abcdefghijklmnopqrst12345678… in test11()
1281 …test(S("abcdefghijklmnopqrst"), 20, 1, "12345678901234567890", 20, S("abcdefghijklmnopqrst12345678… in test11()
1282 test(S("abcdefghijklmnopqrst"), 21, 0, "", 0, S("can't happen")); in test11()
1283 test(S("abcdefghijklmnopqrst"), 21, 0, "12345", 0, S("can't happen")); in test11()
1284 test(S("abcdefghijklmnopqrst"), 21, 0, "12345", 1, S("can't happen")); in test11()
1285 test(S("abcdefghijklmnopqrst"), 21, 0, "12345", 2, S("can't happen")); in test11()
1286 test(S("abcdefghijklmnopqrst"), 21, 0, "12345", 4, S("can't happen")); in test11()
1287 test(S("abcdefghijklmnopqrst"), 21, 0, "12345", 5, S("can't happen")); in test11()
1288 test(S("abcdefghijklmnopqrst"), 21, 0, "1234567890", 0, S("can't happen")); in test11()
1289 test(S("abcdefghijklmnopqrst"), 21, 0, "1234567890", 1, S("can't happen")); in test11()
1290 test(S("abcdefghijklmnopqrst"), 21, 0, "1234567890", 5, S("can't happen")); in test11()
1291 test(S("abcdefghijklmnopqrst"), 21, 0, "1234567890", 9, S("can't happen")); in test11()
1292 test(S("abcdefghijklmnopqrst"), 21, 0, "1234567890", 10, S("can't happen")); in test11()
1293 test(S("abcdefghijklmnopqrst"), 21, 0, "12345678901234567890", 0, S("can't happen")); in test11()
1294 test(S("abcdefghijklmnopqrst"), 21, 0, "12345678901234567890", 1, S("can't happen")); in test11()
1295 test(S("abcdefghijklmnopqrst"), 21, 0, "12345678901234567890", 10, S("can't happen")); in test11()
1296 test(S("abcdefghijklmnopqrst"), 21, 0, "12345678901234567890", 19, S("can't happen")); in test11()
1297 test(S("abcdefghijklmnopqrst"), 21, 0, "12345678901234567890", 20, S("can't happen")); in test11()
1303 typedef std::string S; in main() typedef
1304 test0<S>(); in main()
1305 test1<S>(); in main()
1306 test2<S>(); in main()
1307 test3<S>(); in main()
1308 test4<S>(); in main()
1309 test5<S>(); in main()
1310 test6<S>(); in main()
1311 test7<S>(); in main()
1312 test8<S>(); in main()
1313 test9<S>(); in main()
1314 test10<S>(); in main()
1315 test11<S>(); in main()
1319 typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; in main() typedef
1320 test0<S>(); in main()
1321 test1<S>(); in main()
1322 test2<S>(); in main()
1323 test3<S>(); in main()
1324 test4<S>(); in main()
1325 test5<S>(); in main()
1326 test6<S>(); in main()
1327 test7<S>(); in main()
1328 test8<S>(); in main()
1329 test9<S>(); in main()
1330 test10<S>(); in main()
1331 test11<S>(); in main()