Skip to content

Commit ce639de

Browse files
Update SRF Gantt tests and add Mermaid version to CI config (#947)
* ci.yml: add mermaid version * ci.yml: update matrix for MW 1.43 * tests (JSONScript): update gantt-01.json - remove duplicates - remove skip parts * tests (JSONScript): add more tests for SRF gantt
1 parent 726b947 commit ce639de

File tree

4 files changed

+139
-61
lines changed

4 files changed

+139
-61
lines changed

.github/workflows/ci.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ jobs:
2020
- mediawiki_version: '1.39'
2121
smw_version: dev-master
2222
php_version: 8.1
23+
mm_version: 6.0.0
2324
database_type: mysql
24-
database_image: "mariadb:10"
25+
database_image: "mariadb:11.2"
2526
coverage: false
2627
experimental: false
2728
- mediawiki_version: '1.40'
2829
smw_version: dev-master
2930
php_version: 8.1
31+
mm_version: 6.0.0
3032
database_type: mysql
3133
database_image: "mariadb:11.2"
3234
coverage: true
@@ -36,6 +38,7 @@ jobs:
3638
pf_version: 5.9
3739
sfs_version: dev-master
3840
php_version: 8.1
41+
mm_version: 6.0.0
3942
database_type: mysql
4043
database_image: "mariadb:11.2"
4144
coverage: false
@@ -45,15 +48,17 @@ jobs:
4548
pf_version: 5.9
4649
sfs_version: dev-master
4750
php_version: 8.1
51+
mm_version: 6.0.0
4852
database_type: mysql
4953
database_image: "mariadb:11.2"
5054
coverage: false
5155
experimental: false
52-
- mediawiki_version: '1.43'
56+
- mediawiki_version: '1.43.1'
5357
smw_version: dev-master
5458
pf_version: 5.9
5559
sfs_version: dev-master
5660
php_version: 8.1
61+
mm_version: 6.0.0
5762
database_type: mysql
5863
database_image: "mariadb:11.2"
5964
coverage: false
@@ -67,6 +72,7 @@ jobs:
6772
PHP_VERSION: ${{ matrix.php_version }}
6873
DB_TYPE: ${{ matrix.database_type }}
6974
DB_IMAGE: ${{ matrix.database_image }}
75+
MM_VERSION: ${{ matrix.mm_version }}
7076

7177

7278
steps:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ DB_IMAGE?="mariadb:10"
2020
SMW_VERSION?=dev-master
2121
PF_VERSION ?= 5.5.1
2222
SFS_VERSION ?= 4.0.0-beta
23-
MM_VERSION ?= 3.1.0
23+
MM_VERSION ?= 6.0.0
2424

2525
# composer
2626
# Enables "composer update" inside of extension

tests/phpunit/Integration/JSONScript/TestCases/gantt-01.json

Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,6 @@
117117
"type": "parser",
118118
"about": "Test gantt min config",
119119
"subject": "Example/Gantt Diagram min config",
120-
"skip-on": {
121-
"mediawiki": [ "<1.32.x", "MediaWiki changed handling of spaces &#160 vs. &nbsp; vs \" \"" ]
122-
},
123120
"assert-output": {
124121
"to-contain": [
125122
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt\\ndateFormat YYYY-MM-DD\\naxisFormat %m\\/%d\\/%Y\\nsection First Section\\nTask01\\t :2019-01-01, 2019-01-15\\nTask03\\t :2019-02-01, 2019-02-15\\nTask04\\t :2019-02-15, 2019-02-28\\nsection Second Section\\nTask02\\t :2019-01-15, 2019-01-31\\n&quot;,&quot;config&quot;:&#123;&quot;theme&quot;:&quot;default&quot;,&quot;gantt&quot;:&#123;&quot;leftPadding&quot;:75,&quot;titleTopMargin&quot;:25,&quot;barHeight&quot;:20,&quot;barGap&quot;:4&#125;&#125;&#125;\"><div class=\"mermaid-dots\"></div></div>"
@@ -130,22 +127,16 @@
130127
"type": "parser",
131128
"about": "Test gantt when all config params set",
132129
"subject": "Example/Gantt Diagram config all",
133-
"skip-on": {
134-
"mediawiki": [ ">1.31.x", "MediaWiki changed handling of spaces &#160 vs. &nbsp; vs \" \"" ]
135-
},
136130
"assert-output": {
137131
"to-contain": [
138-
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt\\ndateFormat YYYY-MM-DD\\naxisFormat&#160;%m\\/%d\\/%Y\\nsection First Section\\nTask01\\t&#160;:2019-01-01, 2019-01-15\\nTask03\\t&#160;:2019-02-01, 2019-02-15\\nTask04\\t&#160;:2019-02-15, 2019-02-28\\nsection Second Section\\nTask02\\t&#160;:2019-01-15, 2019-01-31\\n&quot;,&quot;config&quot;:&#123;&quot;theme&quot;:&quot;forest&quot;,&quot;gantt&quot;:&#123;&quot;leftPadding&quot;:130,&quot;titleTopMargin&quot;:30,&quot;barHeight&quot;:40,&quot;barGap&quot;:15&#125;&#125;&#125;\"><div class=\"mermaid-dots\"></div></div>"
132+
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt\\ndateFormat YYYY-MM-DD\\naxisFormat %m\\/%d\\/%Y\\nsection First Section\\nTask01\\t :2019-01-01, 2019-01-15\\nTask03\\t :2019-02-01, 2019-02-15\\nTask04\\t :2019-02-15, 2019-02-28\\nsection Second Section\\nTask02\\t :2019-01-15, 2019-01-31\\n&quot;,&quot;config&quot;:&#123;&quot;theme&quot;:&quot;forest&quot;,&quot;gantt&quot;:&#123;&quot;leftPadding&quot;:130,&quot;titleTopMargin&quot;:30,&quot;barHeight&quot;:40,&quot;barGap&quot;:15&#125;&#125;&#125;\"><div class=\"mermaid-dots\"></div></div>"
139133
]
140134
}
141135
},
142136
{
143137
"type": "parser",
144138
"about": "Test gantt when all config params set",
145139
"subject": "Example/Gantt Diagram config all",
146-
"skip-on": {
147-
"mediawiki": [ "<1.32.x", "MediaWiki changed handling of spaces &#160 vs. &nbsp; vs \" \"" ]
148-
},
149140
"assert-output": {
150141
"to-contain": [
151142
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt\\ndateFormat YYYY-MM-DD\\naxisFormat %m\\/%d\\/%Y\\nsection First Section\\nTask01\\t :2019-01-01, 2019-01-15\\nTask03\\t :2019-02-01, 2019-02-15\\nTask04\\t :2019-02-15, 2019-02-28\\nsection Second Section\\nTask02\\t :2019-01-15, 2019-01-31\\n&quot;,&quot;config&quot;:&#123;&quot;theme&quot;:&quot;forest&quot;,&quot;gantt&quot;:&#123;&quot;leftPadding&quot;:130,&quot;titleTopMargin&quot;:30,&quot;barHeight&quot;:40,&quot;barGap&quot;:15&#125;&#125;&#125;\"><div class=\"mermaid-dots\"></div></div>"
@@ -156,22 +147,6 @@
156147
"type": "parser",
157148
"about": "Test axis forma %m/%d/%Y",
158149
"subject": "Example/Gantt Diagram test axis format 1",
159-
"skip-on": {
160-
"mediawiki": [ ">1.31.x", "MediaWiki changed handling of spaces &#160 vs. &nbsp; vs \" \"" ]
161-
},
162-
"assert-output": {
163-
"to-contain": [
164-
"axisFormat&#160;%m\\/%d\\/%Y"
165-
]
166-
}
167-
},
168-
{
169-
"type": "parser",
170-
"about": "Test axis forma %m/%d/%Y",
171-
"subject": "Example/Gantt Diagram test axis format 1",
172-
"skip-on": {
173-
"mediawiki": [ "<1.32.x", "MediaWiki changed handling of spaces &#160 vs. &nbsp; vs \" \"" ]
174-
},
175150
"assert-output": {
176151
"to-contain": [
177152
"axisFormat %m\\/%d\\/%Y"
@@ -182,22 +157,6 @@
182157
"type": "parser",
183158
"about": "Test priority mapping",
184159
"subject": "Example/Gantt priority mapping test",
185-
"skip-on": {
186-
"mediawiki": [ ">1.31.x", "MediaWiki changed handling of spaces &#160 vs. &nbsp; vs \" \"" ]
187-
},
188-
"assert-output": {
189-
"to-contain": [
190-
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt\\ndateFormat YYYY-MM-DD\\naxisFormat&#160;%m\\/%d\\/%Y\\nsection First Section\\nTask01\\t&#160;:2019-01-01, 2019-01-15\\nTask03\\t&#160;:crit, 2019-02-01, 2019-02-15\\nTask04\\t&#160;:crit, 2019-02-15, 2019-02-28\\nsection Second Section\\nTask02\\t&#160;:2019-01-15, 2019-01-31\\n&quot;,&quot;config&quot;:&#123;&quot;theme&quot;:&quot;forest&quot;,&quot;gantt&quot;:&#123;&quot;leftPadding&quot;:130,&quot;titleTopMargin&quot;:30,&quot;barHeight&quot;:40,&quot;barGap&quot;:15&#125;&#125;&#125;\"><div class=\"mermaid-dots\"></div></div>"
191-
]
192-
}
193-
},
194-
{
195-
"type": "parser",
196-
"about": "Test priority mapping",
197-
"subject": "Example/Gantt priority mapping test",
198-
"skip-on": {
199-
"mediawiki": [ "<1.32.x", "MediaWiki changed handling of spaces &#160 vs. &nbsp; vs \" \"" ]
200-
},
201160
"assert-output": {
202161
"to-contain": [
203162
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt\\ndateFormat YYYY-MM-DD\\naxisFormat %m\\/%d\\/%Y\\nsection First Section\\nTask01\\t :2019-01-01, 2019-01-15\\nTask03\\t :crit, 2019-02-01, 2019-02-15\\nTask04\\t :crit, 2019-02-15, 2019-02-28\\nsection Second Section\\nTask02\\t :2019-01-15, 2019-01-31\\n&quot;,&quot;config&quot;:&#123;&quot;theme&quot;:&quot;forest&quot;,&quot;gantt&quot;:&#123;&quot;leftPadding&quot;:130,&quot;titleTopMargin&quot;:30,&quot;barHeight&quot;:40,&quot;barGap&quot;:15&#125;&#125;&#125;\"><div class=\"mermaid-dots\"></div></div>"
@@ -208,22 +167,6 @@
208167
"type": "parser",
209168
"about": "Test priority mapping",
210169
"subject": "Example/Gantt status mapping test",
211-
"skip-on": {
212-
"mediawiki": [ ">1.31.x", "MediaWiki changed handling of spaces &#160 vs. &nbsp; vs \" \"" ]
213-
},
214-
"assert-output": {
215-
"to-contain": [
216-
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt\\ndateFormat YYYY-MM-DD\\naxisFormat&#160;%m\\/%d\\/%Y\\nsection First Section\\nTask01\\t&#160;:2019-01-01, 2019-01-15\\nTask03\\t&#160;:active, 2019-02-01, 2019-02-15\\nTask04\\t&#160;:done, 2019-02-15, 2019-02-28\\nsection Second Section\\nTask02\\t&#160;:active, 2019-01-15, 2019-01-31\\n&quot;,&quot;config&quot;:&#123;&quot;theme&quot;:&quot;forest&quot;,&quot;gantt&quot;:&#123;&quot;leftPadding&quot;:130,&quot;titleTopMargin&quot;:30,&quot;barHeight&quot;:40,&quot;barGap&quot;:15&#125;&#125;&#125;\"><div class=\"mermaid-dots\"></div></div>"
217-
]
218-
}
219-
},
220-
{
221-
"type": "parser",
222-
"about": "Test priority mapping",
223-
"subject": "Example/Gantt status mapping test",
224-
"skip-on": {
225-
"mediawiki": [ "<1.32.x", "MediaWiki changed ..." ]
226-
},
227170
"assert-output": {
228171
"to-contain": [
229172
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt\\ndateFormat YYYY-MM-DD\\naxisFormat %m\\/%d\\/%Y\\nsection First Section\\nTask01\\t :2019-01-01, 2019-01-15\\nTask03\\t :active, 2019-02-01, 2019-02-15\\nTask04\\t :done, 2019-02-15, 2019-02-28\\nsection Second Section\\nTask02\\t :active, 2019-01-15, 2019-01-31\\n&quot;,&quot;config&quot;:&#123;&quot;theme&quot;:&quot;forest&quot;,&quot;gantt&quot;:&#123;&quot;leftPadding&quot;:130,&quot;titleTopMargin&quot;:30,&quot;barHeight&quot;:40,&quot;barGap&quot;:15&#125;&#125;&#125;\"><div class=\"mermaid-dots\"></div></div>"
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
{
2+
"description": "Extended test cases for the Gantt format in SRF",
3+
"requires": {
4+
"Mermaid": ">= 2.0"
5+
},
6+
"setup": [
7+
{
8+
"namespace": "SMW_NS_PROPERTY",
9+
"page": "Display Title",
10+
"contents": "[[Has type::Text]]"
11+
},
12+
{
13+
"namespace": "SMW_NS_PROPERTY",
14+
"page": "Start Date",
15+
"contents": "[[Has type::Date]]"
16+
},
17+
{
18+
"namespace": "SMW_NS_PROPERTY",
19+
"page": "End Date",
20+
"contents": "[[Has type::Date]]"
21+
},
22+
{
23+
"namespace": "SMW_NS_PROPERTY",
24+
"page": "Status",
25+
"contents": "[[Has type::Text]]"
26+
},
27+
{
28+
"namespace": "SMW_NS_PROPERTY",
29+
"page": "Priority",
30+
"contents": "[[Has type::Text]]"
31+
},
32+
{
33+
"namespace": "SMW_NS_PROPERTY",
34+
"page": "Related To Section",
35+
"contents": "[[Has type::Page]]"
36+
},
37+
{
38+
"namespace": "NS_TEMPLATE",
39+
"page": "Task",
40+
"contents": "[[Category:Task]][[Display Title::{{{title|}}}]][[Start Date::{{{start|}}}]][[End Date::{{{end|}}}]][[Status::{{{status|}}}]][[Priority::{{{priority|}}}]][[Related To Section::{{{section|}}}]]"
41+
},
42+
{
43+
"page": "Gantt/TaskA",
44+
"contents": "{{Task |title=Task A |start=2025-07-01 |end=2025-07-05 |status=done |priority=medium |section=Planning}}"
45+
},
46+
{
47+
"page": "Gantt/TaskB",
48+
"contents": "{{Task |title=Task B |start=2025-07-06 |end=2025-07-12 |status=in progress |priority=critical |section=Execution}}"
49+
},
50+
{
51+
"page": "Gantt/TaskC",
52+
"contents": "{{Task |title=Task C |start=2025-07-13 |end=2025-07-20 |status=backlog |priority=low |section=Execution}}"
53+
},
54+
{
55+
"page": "Gantt/TaskD",
56+
"contents": "{{Task |title=Task D |start=2025-07-21 |end=2025-07-30 |status=open |priority=very high |section=Review}}"
57+
},
58+
{
59+
"page": "Gantt/TaskE",
60+
"contents": "{{Task |title=Task E |start=2025-08-01 |end=2025-08-10 |status=completed |priority=high |section=Closure}}"
61+
},
62+
{
63+
"page": "Gantt/Diagram/Basic",
64+
"contents": "{{#ask:[[Category:Task]] |?Display Title=task |?Status=status |?Start Date=startdate |?End Date=enddate |?Related To Section=section |?Priority=priority |format=gantt}}"
65+
},
66+
{
67+
"page": "Gantt/Diagram/WithTheme",
68+
"contents": "{{#ask:[[Category:Task]] |?Display Title=task |?Status=status |?Start Date=startdate |?End Date=enddate |?Related To Section=section |?Priority=priority |format=gantt |theme=base |bargap=5 |barheight=30}}"
69+
},
70+
{
71+
"page": "Gantt/Diagram/CustomAxis",
72+
"contents": "{{#ask:[[Category:Task]] |?Display Title=task |?Status=status |?Start Date=startdate |?End Date=enddate |?Related To Section=section |?Priority=priority |format=gantt |axisformat=%B %Y}}"
73+
},
74+
{
75+
"page": "Gantt/Diagram/StatusPriorityMap",
76+
"contents": "{{#ask:[[Category:Task]] |?Display Title=task |?Status=status |?Start Date=startdate |?End Date=enddate |?Related To Section=section |?Priority=priority |format=gantt |statusmapping=backlog=>active;in progress=>active;completed=>done |prioritymapping=critical=>crit;very high=>crit}}"
77+
}
78+
],
79+
"tests": [
80+
{
81+
"type": "parser-html",
82+
"about": "Ensure SVG structure exists",
83+
"subject": "Gantt/Diagram/Basic",
84+
"assert-output": {
85+
"to-contain": [["div.mw-parser-output > div.srf-gantt", 1]]
86+
}
87+
},
88+
{
89+
"type": "parser",
90+
"about": "Validate axis format %B %Y",
91+
"subject": "Gantt/Diagram/CustomAxis",
92+
"assert-output": {
93+
"to-contain": ["axisFormat %B %Y"]
94+
}
95+
},
96+
{
97+
"type": "parser",
98+
"about": "Priority and status mapping test",
99+
"subject": "Gantt/Diagram/StatusPriorityMap",
100+
"assert-output": {
101+
"to-contain": [
102+
"data-mermaid=\"&#123;&quot;content&quot;:&quot;gantt",
103+
"section Planning",
104+
"Task A\\t :2025-07-01, 2025-07-05",
105+
"section Execution",
106+
"Task B\\t :crit, active, 2025-07-06, 2025-07-12",
107+
"Task C\\t :active, 2025-07-13, 2025-07-20",
108+
"section Review",
109+
"Task D\\t :crit, 2025-07-21, 2025-07-30",
110+
"section Closure",
111+
"Task E\\t :done, 2025-08-01, 2025-08-10"
112+
]
113+
}
114+
}
115+
],
116+
"settings": {
117+
"wgContLang": "en",
118+
"wgLang": "en",
119+
"smwgNamespacesWithSemanticLinks": {
120+
"NS_MAIN": true,
121+
"SMW_NS_PROPERTY": true
122+
}
123+
},
124+
"meta": {
125+
"version": "2",
126+
"is-incomplete": false,
127+
"debug": true
128+
}
129+
}

0 commit comments

Comments
 (0)