1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
| import test from "ava";
| import {asciiCalendar, domCalendar, verticalCalendar} from "../../src/lib/calendar-view.js";
|
| const cal = {
| month: 1,
| year: 2021,
| weekDays: [1, 2, 3, 4, 5, 6, 0], // Day from Monday to Sonday, EU-Common
| weeks: [
| ['', '', '', '', 1, 2, 3],
| [ 4, 5, 6, 7, 8, 9, 10],
| [11, 12, 13, 14, 15, 16, 17],
| [18, 19, 20, 21, 22, 23, 24],
| [25, 26, 26, 28, 29, 30, 31]
| ]
| };
|
| const somewhere = Object.freeze({
| weekDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
| months: [undefined,
| "Januar", "Februar", "Mär", "April",
| "Mai", "Juni", "July", "August",
| "September", "Oktober", "November", "Dezember"],
| firstDayOfWeek: 1
| });
|
| test("asciiCalendar", t =>{
| const ascii = asciiCalendar(cal, somewhere);
| const result = ` Januar 2021
|
| Mo Di Mi Do Fr Sa So
| 01 02 03
| 04 05 06 07 08 09 10
| 11 12 13 14 15 16 17
| 18 19 20 21 22 23 24
| 25 26 26 28 29 30 31 \n`
| t.is(ascii, result);
| });
|
|
| test('domCalendar',t => {
| const html = domCalendar(cal, somewhere);
| const result = `<table>
| <caption>Januar 2021</caption>
| <thead><tr><td>Mo</td><td>Di</td><td>Mi</td><td>Do</td><td>Fr</td><td>Sa</td><td>So</td></tr>
| </thead>
| <tr><td></td><td></td><td></td><td></td><td>1</td><td>2</td><td>3</td></tr>
| <tr><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td></tr>
| <tr><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td></tr>
| <tr><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td><td>23</td><td>24</td></tr>
| <tr><td>25</td><td>26</td><td>26</td><td>28</td><td>29</td><td>30</td><td>31</td></tr>
| </table>`;
| t.is(html, result);
| });
|
|
| test("verticalCalendar", t =>{
| const vertical = verticalCalendar(cal, somewhere);
| const result = ` Januar 2021
|
| Mo Di Mi Do Fr Sa So
| 01 02 03
| 04 05 06 07 08 09 10
| 11 12 13 14 15 16 17
| 18 19 20 21 22 23 24
| 25 26 26 28 29 30 31 \n`
| //t.is(ascii, result);
| console.log(vertical);
| });
|
|