217 lines
5.0 KiB
JSON
217 lines
5.0 KiB
JSON
{
|
|
"description": "Test in-text annotation for `_rec`/`_mlt_rec` (+ subobject) for when record type points to another record type (`wgContLang=en`, `wgLang=en`)",
|
|
"setup": [
|
|
{
|
|
"namespace": "SMW_NS_PROPERTY",
|
|
"page": "Has text",
|
|
"contents": "[[Has type::Text]]"
|
|
},
|
|
{
|
|
"namespace": "SMW_NS_PROPERTY",
|
|
"page": "Has monolingual text",
|
|
"contents": "[[Has type::Monolingual text]]"
|
|
},
|
|
{
|
|
"namespace": "SMW_NS_PROPERTY",
|
|
"page": "Has number",
|
|
"contents": "[[Has type::Number]]"
|
|
},
|
|
{
|
|
"namespace": "SMW_NS_PROPERTY",
|
|
"page": "Has record one",
|
|
"contents": "[[Has type::Record]] [[Has fields::Has text;Has number]]"
|
|
},
|
|
{
|
|
"namespace": "SMW_NS_PROPERTY",
|
|
"page": "Has record two",
|
|
"contents": "[[Has type::Record]] [[Has fields::Has text;Has record one]]"
|
|
},
|
|
{
|
|
"namespace": "SMW_NS_PROPERTY",
|
|
"page": "Has record one mlt",
|
|
"contents": "[[Has type::Record]] [[Has fields::Has monolingual text;Has number]]"
|
|
},
|
|
{
|
|
"namespace": "SMW_NS_PROPERTY",
|
|
"page": "Has record two mlt",
|
|
"contents": "[[Has type::Record]] [[Has fields::Has monolingual text;Has record one mlt]]"
|
|
},
|
|
{
|
|
"page": "Example/P0409/1/1",
|
|
"contents": "[[Has record two::Foo;abc\\;12]]"
|
|
},
|
|
{
|
|
"page": "Example/P0409/1/2",
|
|
"contents": "{{#subobject: |Has record two=Foo;abc\\;12 }}"
|
|
},
|
|
{
|
|
"page": "Example/P0409/2/1",
|
|
"contents": "[[Has record one mlt::test@en;42]]"
|
|
},
|
|
{
|
|
"page": "Example/P0409/2/2",
|
|
"contents": "{{#subobject: |Has record one mlt=test@en;42}}"
|
|
},
|
|
{
|
|
"page": "Example/P0409/3/1",
|
|
"contents": "[[Has record two mlt::one@en;two@fr\\;123]]"
|
|
},
|
|
{
|
|
"page": "Example/P0409/3/2",
|
|
"contents": "{{#subobject: |Has record two mlt=one@en;two@fr\\;123}}"
|
|
},
|
|
{
|
|
"page": "Example/P0409/3/2a",
|
|
"contents": "{{#ask: [[Has record two mlt::one@en;two@fr\\;123]] |?Has record two mlt}}"
|
|
},
|
|
{
|
|
"page": "Example/P0409/3/2b",
|
|
"contents": "{{#ask: [[Has record two mlt::one@en;two@fr\\;123]] |?Has record two mlt|+index=1 |?Has record two mlt|+index=2}}"
|
|
}
|
|
],
|
|
"tests": [
|
|
{
|
|
"type": "parser",
|
|
"about": "#0",
|
|
"subject": "Example/P0409/1/1",
|
|
"assert-store": {
|
|
"semantic-data": {
|
|
"strictPropertyValueMatch": false,
|
|
"propertyCount": 3,
|
|
"propertyKeys": [
|
|
"Has_record_two",
|
|
"_SKEY",
|
|
"_MDAT"
|
|
],
|
|
"propertyValues": [
|
|
"Foo; abc\\; 12"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "parser",
|
|
"about": "#1",
|
|
"subject": "Example/P0409/1/2#_863c94681079337ad25674e3a7ce33e7",
|
|
"assert-store": {
|
|
"semantic-data": {
|
|
"strictPropertyValueMatch": false,
|
|
"propertyCount": 2,
|
|
"propertyKeys": [
|
|
"Has_record_two",
|
|
"_SKEY"
|
|
],
|
|
"propertyValues": [
|
|
"Foo; abc\\; 12"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "parser",
|
|
"about": "#2",
|
|
"subject": "Example/P0409/2/1",
|
|
"assert-store": {
|
|
"semantic-data": {
|
|
"strictPropertyValueMatch": false,
|
|
"propertyCount": 3,
|
|
"propertyKeys": [
|
|
"Has_record_one_mlt",
|
|
"_SKEY",
|
|
"_MDAT"
|
|
],
|
|
"propertyValues": [
|
|
"test@en; 42"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "parser",
|
|
"about": "#3",
|
|
"subject": "Example/P0409/2/2#_aa886e35ba32dd0c6e43a026230362f4",
|
|
"assert-store": {
|
|
"semantic-data": {
|
|
"strictPropertyValueMatch": false,
|
|
"propertyCount": 2,
|
|
"propertyKeys": [
|
|
"Has_record_one_mlt",
|
|
"_SKEY"
|
|
],
|
|
"propertyValues": [
|
|
"test@en; 42"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "parser",
|
|
"about": "#4",
|
|
"subject": "Example/P0409/3/1",
|
|
"assert-store": {
|
|
"semantic-data": {
|
|
"strictPropertyValueMatch": false,
|
|
"propertyCount": 3,
|
|
"propertyKeys": [
|
|
"Has_record_two_mlt",
|
|
"_SKEY",
|
|
"_MDAT"
|
|
],
|
|
"propertyValues": [
|
|
"one@en; two@fr\\; 123"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "parser",
|
|
"about": "#5",
|
|
"subject": "Example/P0409/3/2#_4d3b4405d3a60255e63cde196092a367",
|
|
"assert-store": {
|
|
"semantic-data": {
|
|
"strictPropertyValueMatch": false,
|
|
"propertyCount": 2,
|
|
"propertyKeys": [
|
|
"Has_record_two_mlt",
|
|
"_SKEY"
|
|
],
|
|
"propertyValues": [
|
|
"one@en; two@fr\\; 123"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "parser",
|
|
"about": "#6 (edge case that will probably never surface but we verify that the description can be decoded without failing the parser)",
|
|
"subject": "Example/P0409/3/2a",
|
|
"assert-output": {
|
|
"to-contain": [
|
|
"Example/P0409/3/2#_4d3b4405d3a60255e63cde196092a367",
|
|
"<td class=\"Has-record-two-mlt smwtype_rec\">one (en) (two (fr) (123))</td>"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "parser",
|
|
"about": "#7 same as #6 (query condition is identical, printoutput is different)",
|
|
"subject": "Example/P0409/3/2b",
|
|
"assert-output": {
|
|
"to-contain": [
|
|
"Example/P0409/3/2#_4d3b4405d3a60255e63cde196092a367",
|
|
"<td class=\"Has-record-two-mlt smwtype_mlt_rec\">one (en)</td>",
|
|
"<td class=\"Has-record-two-mlt smwtype_rec\">two (fr) (123)</td>"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"settings": {
|
|
"wgContLang": "en",
|
|
"wgLang": "en"
|
|
},
|
|
"meta": {
|
|
"version": "2",
|
|
"is-incomplete": false,
|
|
"debug": false
|
|
}
|
|
} |