Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
3
// CVS: $Id: bug-727-4.phpt,v 1.1 2006/11/20 08:57:56 firman Exp $
4
?>
5
--TEST--
6
Bug #727: Date_Calc::weeksInMonth() wrong result
7
Tests for weeksInMonth "random"
8
Monday as 1st day of week
9
--FILE--
10
<?php
11
/**
12
 * Test for: Date_Calc
13
 * Parts tested: Date_Calc::weeksInMonth()
14
 */
15
 
16
/**
17
 * Monday as 1st day of week
18
 */
19
define('DATE_CALC_BEGIN_WEEKDAY', 1);
20
 
21
require_once "Date/Calc.php";
22
 
23
$tests = array(
24
    array(1999, 8),  array(2000, 10), array(2001, 12), array(2002, 12),
25
    array(2003, 6),  array(2004, 8),  array(2005, 10), array(2006, 10),
26
    array(2007, 12), array(2008, 6),  array(2009, 11), array(2010, 8),
27
    array(2011, 10), array(2012, 12), array(2013, 12), array(2014, 6),
28
    array(2015, 11), array(2016, 10), array(2017, 10), array(2018, 12),
29
    array(2019, 12), array(2020, 11), array(2021, 8),  array(2022, 10),
30
    array(2023, 10), array(2024, 12), array(2025, 6),  array(2026, 11),
31
    array(2027, 8),  array(2028, 10), array(2029, 12), array(2030, 12),
32
    array(2031, 6),  array(2032, 8),  array(2033, 10), array(2034, 10),
33
    array(2035, 12), array(2036, 6),  array(2037, 11), array(1930, 6),
34
    array(1931, 11), array(1932, 10), array(1933, 10), array(1934, 12),
35
    array(1935, 12), array(1936, 11), array(1937, 8),  array(1938, 10),
36
    array(1939, 10), array(1940, 12), array(1941, 6),  array(1942, 11),
37
    array(1943, 8),  array(1944, 10), array(1945, 12), array(1946, 12),
38
    array(1947, 6),  array(1948, 8),  array(1949, 10), array(1800, 6),
39
    array(1801, 11), array(1802, 8),  array(1803, 10), array(1804, 12),
40
    array(1805, 12), array(1806, 6),  array(1807, 11), array(1808, 10),
41
    array(1809, 10), array(1810, 12), array(1811, 12), array(1812, 11),
42
    array(1813, 8),  array(1814, 10), array(1815, 10), array(1816, 12),
43
    array(1817, 6),  array(1818, 11), array(1819, 8),  array(1820, 10),
44
    array(1821, 12), array(1822, 12), array(1823, 6),  array(1824, 8),
45
    array(1825, 10), array(1826, 10), array(1827, 12), array(1828, 6),
46
    array(1829, 11), array(1830, 8),  array(1831, 10), array(1832, 12),
47
    array(1833, 12), array(1834, 6),  array(1835, 11), array(1836, 10),
48
    array(1837, 10), array(1838, 12), array(1839, 12), array(1840, 11),
49
    array(1841, 8),  array(1842, 10), array(1843, 10), array(1844, 12),
50
    array(1845, 6),  array(1846, 11), array(1847, 8),  array(1848, 10),
51
    array(1849, 12), array(1850, 12), array(1851, 6),  array(1852, 8),
52
    array(1853, 10), array(1854, 10), array(1855, 12), array(1856, 6),
53
    array(1857, 11), array(1858, 8),  array(1859, 10), array(1860, 12),
54
    array(1861, 12), array(1862, 6),  array(1863, 11), array(1864, 10),
55
    array(1865, 10), array(1866, 12), array(1867, 12), array(1868, 11),
56
    array(1869, 8),  array(1870, 10), array(1871, 10), array(1872, 12),
57
    array(1873, 6),  array(1874, 11), array(1875, 8),  array(1876, 10),
58
    array(1877, 12), array(1878, 12), array(1879, 6),  array(1880, 8),
59
    array(1881, 10), array(1882, 10), array(1883, 12), array(1884, 6),
60
    array(1885, 11), array(1886, 8),  array(1887, 10), array(1888, 12),
61
    array(1889, 12), array(1890, 6),  array(1891, 11), array(1892, 10),
62
    array(1893, 10), array(1894, 12), array(1895, 12), array(1896, 11),
63
    array(1897, 8),  array(1898, 10), array(1899, 10), array(1900, 12),
64
    array(1901, 12), array(1902, 6),  array(1903, 11), array(1904, 10),
65
    array(1905, 10), array(1906, 12), array(1907, 12), array(1908, 11),
66
    array(1909, 8),  array(1910, 10), array(1911, 10), array(1912, 12),
67
    array(1913, 6),  array(1914, 11), array(1915, 8),  array(1916, 10),
68
    array(1917, 12), array(1918, 12), array(1919, 6),  array(1920, 8),
69
    array(1921, 10), array(1922, 10), array(1923, 12), array(1924, 6),
70
    array(1925, 11), array(1926, 8),  array(1927, 10), array(1928, 12),
71
    array(1929, 12), array(1999, 12), array(2000, 12), array(2001, 11),
72
    array(2002, 11), array(2003, 12), array(2004, 12), array(2005, 12),
73
    array(2006, 12), array(2007, 11), array(2008, 12), array(2009, 12),
74
    array(2010, 12), array(2011, 12), array(2012, 11), array(2013, 11),
75
    array(2014, 12), array(2015, 12), array(2016, 12), array(2017, 12),
76
    array(2018, 11), array(2019, 11), array(2020, 12), array(2021, 12),
77
    array(2022, 12), array(2023, 12), array(2024, 11), array(2025, 12),
78
    array(2026, 12), array(2027, 12), array(2028, 12), array(2029, 11),
79
    array(2030, 11), array(2031, 12), array(2032, 12), array(2033, 12),
80
    array(2034, 12), array(2035, 11), array(2036, 12), array(2037, 12),
81
    array(1930, 12), array(1931, 12), array(1932, 12), array(1933, 12),
82
    array(1934, 11), array(1935, 11), array(1936, 12), array(1937, 12),
83
    array(1938, 12), array(1939, 12), array(1940, 11), array(1941, 12),
84
    array(1942, 12), array(1943, 12), array(1944, 12), array(1945, 11),
85
    array(1946, 11), array(1947, 12), array(1948, 12), array(1949, 12),
86
    array(1800, 12), array(1801, 12), array(1802, 12), array(1803, 12),
87
    array(1804, 11), array(1805, 11), array(1806, 12), array(1807, 12),
88
    array(1808, 12), array(1809, 12), array(1810, 11), array(1811, 11),
89
    array(1812, 12), array(1813, 12), array(1814, 12), array(1815, 12),
90
    array(1816, 11), array(1817, 12), array(1818, 12), array(1819, 12),
91
    array(1820, 12), array(1821, 11), array(1822, 11), array(1823, 12),
92
    array(1824, 12), array(1825, 12), array(1826, 12), array(1827, 11),
93
    array(1828, 12), array(1829, 12), array(1830, 12), array(1831, 12),
94
    array(1832, 11), array(1833, 11), array(1834, 12), array(1835, 12),
95
    array(1836, 12), array(1837, 12), array(1838, 11), array(1839, 11),
96
    array(1840, 12), array(1841, 12), array(1842, 12), array(1843, 12),
97
    array(1844, 11), array(1845, 12), array(1846, 12), array(1847, 12),
98
    array(1848, 12), array(1849, 11), array(1850, 11), array(1851, 12),
99
    array(1852, 12), array(1853, 12), array(1854, 12), array(1855, 11),
100
    array(1856, 12), array(1857, 12), array(1858, 12), array(1859, 12),
101
    array(1860, 11), array(1861, 11), array(1862, 12), array(1863, 12),
102
    array(1864, 12), array(1865, 12), array(1866, 11), array(1867, 11),
103
    array(1868, 12), array(1869, 12), array(1870, 12), array(1871, 12),
104
    array(1872, 11), array(1873, 12), array(1874, 12), array(1875, 12),
105
    array(1876, 12), array(1877, 11), array(1878, 11), array(1879, 12),
106
    array(1880, 12), array(1881, 12), array(1882, 12), array(1883, 11),
107
    array(1884, 12), array(1885, 12), array(1886, 12), array(1887, 12),
108
    array(1888, 11), array(1889, 11), array(1890, 12), array(1891, 12),
109
    array(1892, 12), array(1893, 12), array(1894, 11), array(1895, 11),
110
    array(1896, 12), array(1897, 12), array(1898, 12), array(1899, 12),
111
    array(1900, 11), array(1901, 11), array(1902, 12), array(1903, 12),
112
    array(1904, 12), array(1905, 12), array(1906, 11), array(1907, 11),
113
    array(1908, 12), array(1909, 12), array(1910, 12), array(1911, 12),
114
    array(1912, 11), array(1913, 12), array(1914, 12), array(1915, 12),
115
    array(1916, 12), array(1917, 11), array(1918, 11), array(1919, 12),
116
    array(1920, 12), array(1921, 12), array(1922, 12), array(1923, 11),
117
    array(1924, 12), array(1925, 12), array(1926, 12), array(1927, 12),
118
    array(1928, 11), array(1929, 11)
119
);
120
 
121
foreach ($tests as $date) {
122
    list ($year, $month) = $date;
123
    echo $year . '/' . $month . ' = ' . Date_Calc::weeksInMonth($month, $year) . ' weeks' . "\n";
124
}
125
?>
126
--EXPECT--
127
1999/8 = 6 weeks
128
2000/10 = 6 weeks
129
2001/12 = 6 weeks
130
2002/12 = 6 weeks
131
2003/6 = 6 weeks
132
2004/8 = 6 weeks
133
2005/10 = 6 weeks
134
2006/10 = 6 weeks
135
2007/12 = 6 weeks
136
2008/6 = 6 weeks
137
2009/11 = 6 weeks
138
2010/8 = 6 weeks
139
2011/10 = 6 weeks
140
2012/12 = 6 weeks
141
2013/12 = 6 weeks
142
2014/6 = 6 weeks
143
2015/11 = 6 weeks
144
2016/10 = 6 weeks
145
2017/10 = 6 weeks
146
2018/12 = 6 weeks
147
2019/12 = 6 weeks
148
2020/11 = 6 weeks
149
2021/8 = 6 weeks
150
2022/10 = 6 weeks
151
2023/10 = 6 weeks
152
2024/12 = 6 weeks
153
2025/6 = 6 weeks
154
2026/11 = 6 weeks
155
2027/8 = 6 weeks
156
2028/10 = 6 weeks
157
2029/12 = 6 weeks
158
2030/12 = 6 weeks
159
2031/6 = 6 weeks
160
2032/8 = 6 weeks
161
2033/10 = 6 weeks
162
2034/10 = 6 weeks
163
2035/12 = 6 weeks
164
2036/6 = 6 weeks
165
2037/11 = 6 weeks
166
1930/6 = 6 weeks
167
1931/11 = 6 weeks
168
1932/10 = 6 weeks
169
1933/10 = 6 weeks
170
1934/12 = 6 weeks
171
1935/12 = 6 weeks
172
1936/11 = 6 weeks
173
1937/8 = 6 weeks
174
1938/10 = 6 weeks
175
1939/10 = 6 weeks
176
1940/12 = 6 weeks
177
1941/6 = 6 weeks
178
1942/11 = 6 weeks
179
1943/8 = 6 weeks
180
1944/10 = 6 weeks
181
1945/12 = 6 weeks
182
1946/12 = 6 weeks
183
1947/6 = 6 weeks
184
1948/8 = 6 weeks
185
1949/10 = 6 weeks
186
1800/6 = 6 weeks
187
1801/11 = 6 weeks
188
1802/8 = 6 weeks
189
1803/10 = 6 weeks
190
1804/12 = 6 weeks
191
1805/12 = 6 weeks
192
1806/6 = 6 weeks
193
1807/11 = 6 weeks
194
1808/10 = 6 weeks
195
1809/10 = 6 weeks
196
1810/12 = 6 weeks
197
1811/12 = 6 weeks
198
1812/11 = 6 weeks
199
1813/8 = 6 weeks
200
1814/10 = 6 weeks
201
1815/10 = 6 weeks
202
1816/12 = 6 weeks
203
1817/6 = 6 weeks
204
1818/11 = 6 weeks
205
1819/8 = 6 weeks
206
1820/10 = 6 weeks
207
1821/12 = 6 weeks
208
1822/12 = 6 weeks
209
1823/6 = 6 weeks
210
1824/8 = 6 weeks
211
1825/10 = 6 weeks
212
1826/10 = 6 weeks
213
1827/12 = 6 weeks
214
1828/6 = 6 weeks
215
1829/11 = 6 weeks
216
1830/8 = 6 weeks
217
1831/10 = 6 weeks
218
1832/12 = 6 weeks
219
1833/12 = 6 weeks
220
1834/6 = 6 weeks
221
1835/11 = 6 weeks
222
1836/10 = 6 weeks
223
1837/10 = 6 weeks
224
1838/12 = 6 weeks
225
1839/12 = 6 weeks
226
1840/11 = 6 weeks
227
1841/8 = 6 weeks
228
1842/10 = 6 weeks
229
1843/10 = 6 weeks
230
1844/12 = 6 weeks
231
1845/6 = 6 weeks
232
1846/11 = 6 weeks
233
1847/8 = 6 weeks
234
1848/10 = 6 weeks
235
1849/12 = 6 weeks
236
1850/12 = 6 weeks
237
1851/6 = 6 weeks
238
1852/8 = 6 weeks
239
1853/10 = 6 weeks
240
1854/10 = 6 weeks
241
1855/12 = 6 weeks
242
1856/6 = 6 weeks
243
1857/11 = 6 weeks
244
1858/8 = 6 weeks
245
1859/10 = 6 weeks
246
1860/12 = 6 weeks
247
1861/12 = 6 weeks
248
1862/6 = 6 weeks
249
1863/11 = 6 weeks
250
1864/10 = 6 weeks
251
1865/10 = 6 weeks
252
1866/12 = 6 weeks
253
1867/12 = 6 weeks
254
1868/11 = 6 weeks
255
1869/8 = 6 weeks
256
1870/10 = 6 weeks
257
1871/10 = 6 weeks
258
1872/12 = 6 weeks
259
1873/6 = 6 weeks
260
1874/11 = 6 weeks
261
1875/8 = 6 weeks
262
1876/10 = 6 weeks
263
1877/12 = 6 weeks
264
1878/12 = 6 weeks
265
1879/6 = 6 weeks
266
1880/8 = 6 weeks
267
1881/10 = 6 weeks
268
1882/10 = 6 weeks
269
1883/12 = 6 weeks
270
1884/6 = 6 weeks
271
1885/11 = 6 weeks
272
1886/8 = 6 weeks
273
1887/10 = 6 weeks
274
1888/12 = 6 weeks
275
1889/12 = 6 weeks
276
1890/6 = 6 weeks
277
1891/11 = 6 weeks
278
1892/10 = 6 weeks
279
1893/10 = 6 weeks
280
1894/12 = 6 weeks
281
1895/12 = 6 weeks
282
1896/11 = 6 weeks
283
1897/8 = 6 weeks
284
1898/10 = 6 weeks
285
1899/10 = 6 weeks
286
1900/12 = 6 weeks
287
1901/12 = 6 weeks
288
1902/6 = 6 weeks
289
1903/11 = 6 weeks
290
1904/10 = 6 weeks
291
1905/10 = 6 weeks
292
1906/12 = 6 weeks
293
1907/12 = 6 weeks
294
1908/11 = 6 weeks
295
1909/8 = 6 weeks
296
1910/10 = 6 weeks
297
1911/10 = 6 weeks
298
1912/12 = 6 weeks
299
1913/6 = 6 weeks
300
1914/11 = 6 weeks
301
1915/8 = 6 weeks
302
1916/10 = 6 weeks
303
1917/12 = 6 weeks
304
1918/12 = 6 weeks
305
1919/6 = 6 weeks
306
1920/8 = 6 weeks
307
1921/10 = 6 weeks
308
1922/10 = 6 weeks
309
1923/12 = 6 weeks
310
1924/6 = 6 weeks
311
1925/11 = 6 weeks
312
1926/8 = 6 weeks
313
1927/10 = 6 weeks
314
1928/12 = 6 weeks
315
1929/12 = 6 weeks
316
1999/12 = 5 weeks
317
2000/12 = 5 weeks
318
2001/11 = 5 weeks
319
2002/11 = 5 weeks
320
2003/12 = 5 weeks
321
2004/12 = 5 weeks
322
2005/12 = 5 weeks
323
2006/12 = 5 weeks
324
2007/11 = 5 weeks
325
2008/12 = 5 weeks
326
2009/12 = 5 weeks
327
2010/12 = 5 weeks
328
2011/12 = 5 weeks
329
2012/11 = 5 weeks
330
2013/11 = 5 weeks
331
2014/12 = 5 weeks
332
2015/12 = 5 weeks
333
2016/12 = 5 weeks
334
2017/12 = 5 weeks
335
2018/11 = 5 weeks
336
2019/11 = 5 weeks
337
2020/12 = 5 weeks
338
2021/12 = 5 weeks
339
2022/12 = 5 weeks
340
2023/12 = 5 weeks
341
2024/11 = 5 weeks
342
2025/12 = 5 weeks
343
2026/12 = 5 weeks
344
2027/12 = 5 weeks
345
2028/12 = 5 weeks
346
2029/11 = 5 weeks
347
2030/11 = 5 weeks
348
2031/12 = 5 weeks
349
2032/12 = 5 weeks
350
2033/12 = 5 weeks
351
2034/12 = 5 weeks
352
2035/11 = 5 weeks
353
2036/12 = 5 weeks
354
2037/12 = 5 weeks
355
1930/12 = 5 weeks
356
1931/12 = 5 weeks
357
1932/12 = 5 weeks
358
1933/12 = 5 weeks
359
1934/11 = 5 weeks
360
1935/11 = 5 weeks
361
1936/12 = 5 weeks
362
1937/12 = 5 weeks
363
1938/12 = 5 weeks
364
1939/12 = 5 weeks
365
1940/11 = 5 weeks
366
1941/12 = 5 weeks
367
1942/12 = 5 weeks
368
1943/12 = 5 weeks
369
1944/12 = 5 weeks
370
1945/11 = 5 weeks
371
1946/11 = 5 weeks
372
1947/12 = 5 weeks
373
1948/12 = 5 weeks
374
1949/12 = 5 weeks
375
1800/12 = 5 weeks
376
1801/12 = 5 weeks
377
1802/12 = 5 weeks
378
1803/12 = 5 weeks
379
1804/11 = 5 weeks
380
1805/11 = 5 weeks
381
1806/12 = 5 weeks
382
1807/12 = 5 weeks
383
1808/12 = 5 weeks
384
1809/12 = 5 weeks
385
1810/11 = 5 weeks
386
1811/11 = 5 weeks
387
1812/12 = 5 weeks
388
1813/12 = 5 weeks
389
1814/12 = 5 weeks
390
1815/12 = 5 weeks
391
1816/11 = 5 weeks
392
1817/12 = 5 weeks
393
1818/12 = 5 weeks
394
1819/12 = 5 weeks
395
1820/12 = 5 weeks
396
1821/11 = 5 weeks
397
1822/11 = 5 weeks
398
1823/12 = 5 weeks
399
1824/12 = 5 weeks
400
1825/12 = 5 weeks
401
1826/12 = 5 weeks
402
1827/11 = 5 weeks
403
1828/12 = 5 weeks
404
1829/12 = 5 weeks
405
1830/12 = 5 weeks
406
1831/12 = 5 weeks
407
1832/11 = 5 weeks
408
1833/11 = 5 weeks
409
1834/12 = 5 weeks
410
1835/12 = 5 weeks
411
1836/12 = 5 weeks
412
1837/12 = 5 weeks
413
1838/11 = 5 weeks
414
1839/11 = 5 weeks
415
1840/12 = 5 weeks
416
1841/12 = 5 weeks
417
1842/12 = 5 weeks
418
1843/12 = 5 weeks
419
1844/11 = 5 weeks
420
1845/12 = 5 weeks
421
1846/12 = 5 weeks
422
1847/12 = 5 weeks
423
1848/12 = 5 weeks
424
1849/11 = 5 weeks
425
1850/11 = 5 weeks
426
1851/12 = 5 weeks
427
1852/12 = 5 weeks
428
1853/12 = 5 weeks
429
1854/12 = 5 weeks
430
1855/11 = 5 weeks
431
1856/12 = 5 weeks
432
1857/12 = 5 weeks
433
1858/12 = 5 weeks
434
1859/12 = 5 weeks
435
1860/11 = 5 weeks
436
1861/11 = 5 weeks
437
1862/12 = 5 weeks
438
1863/12 = 5 weeks
439
1864/12 = 5 weeks
440
1865/12 = 5 weeks
441
1866/11 = 5 weeks
442
1867/11 = 5 weeks
443
1868/12 = 5 weeks
444
1869/12 = 5 weeks
445
1870/12 = 5 weeks
446
1871/12 = 5 weeks
447
1872/11 = 5 weeks
448
1873/12 = 5 weeks
449
1874/12 = 5 weeks
450
1875/12 = 5 weeks
451
1876/12 = 5 weeks
452
1877/11 = 5 weeks
453
1878/11 = 5 weeks
454
1879/12 = 5 weeks
455
1880/12 = 5 weeks
456
1881/12 = 5 weeks
457
1882/12 = 5 weeks
458
1883/11 = 5 weeks
459
1884/12 = 5 weeks
460
1885/12 = 5 weeks
461
1886/12 = 5 weeks
462
1887/12 = 5 weeks
463
1888/11 = 5 weeks
464
1889/11 = 5 weeks
465
1890/12 = 5 weeks
466
1891/12 = 5 weeks
467
1892/12 = 5 weeks
468
1893/12 = 5 weeks
469
1894/11 = 5 weeks
470
1895/11 = 5 weeks
471
1896/12 = 5 weeks
472
1897/12 = 5 weeks
473
1898/12 = 5 weeks
474
1899/12 = 5 weeks
475
1900/11 = 5 weeks
476
1901/11 = 5 weeks
477
1902/12 = 5 weeks
478
1903/12 = 5 weeks
479
1904/12 = 5 weeks
480
1905/12 = 5 weeks
481
1906/11 = 5 weeks
482
1907/11 = 5 weeks
483
1908/12 = 5 weeks
484
1909/12 = 5 weeks
485
1910/12 = 5 weeks
486
1911/12 = 5 weeks
487
1912/11 = 5 weeks
488
1913/12 = 5 weeks
489
1914/12 = 5 weeks
490
1915/12 = 5 weeks
491
1916/12 = 5 weeks
492
1917/11 = 5 weeks
493
1918/11 = 5 weeks
494
1919/12 = 5 weeks
495
1920/12 = 5 weeks
496
1921/12 = 5 weeks
497
1922/12 = 5 weeks
498
1923/11 = 5 weeks
499
1924/12 = 5 weeks
500
1925/12 = 5 weeks
501
1926/12 = 5 weeks
502
1927/12 = 5 weeks
503
1928/11 = 5 weeks
504
1929/11 = 5 weeks
505
<?php
506
/*
507
 * Local variables:
508
 * mode: php
509
 * tab-width: 4
510
 * c-basic-offset: 4
511
 * c-hanging-comment-ender-p: nil
512
 * End:
513
 */
514
?>