{ "description": "Test `_rec`/`_ref_rec` and `Allows value`", "setup": [ { "namespace": "SMW_NS_PROPERTY", "page": "Record page", "contents": "[[Has type::Page]]" }, { "namespace": "SMW_NS_PROPERTY", "page": "Record number", "contents": "[[Has type::Number]]" }, { "namespace": "SMW_NS_PROPERTY", "page": "Restricted record", "contents": "[[Has type::Record]][[Has fields::Record page;Record number]] [[Allows value::Foo;123]] [[Allows value::Bar;456]] [[Allows value::Foobar; 789]]" }, { "namespace": "SMW_NS_PROPERTY", "page": "Restricted reference", "contents": "[[Has type::Reference]] [[Has fields::URL;Date]] [[Allows value::http://example.org;1 Jan 1970]] [[Allows value::http://example.org;2 Jan 1970]]" }, { "page": "P0922/1", "contents": "[[Restricted record::Foo;123]]" }, { "page": "P0922/2", "contents": "[[Restricted record::Foo; 123]]" }, { "page": "P0922/3", "contents": "[[Restricted record::Bar;456]]" }, { "page": "P0922/4", "contents": "[[Restricted record::Foobar;789]]" }, { "page": "P0922/5", "contents": "[[Restricted record::Foo;456]]" }, { "page": "P0922/6", "contents": "[[Restricted reference::http://example.org;1 Jan 1970]]" }, { "page": "P0922/7", "contents": "[[Restricted reference::http://example.org;3 Jan 1970]]" } ], "tests": [ { "type": "parser", "about": "#0 (record, passes validation)", "subject": "P0922/1", "assert-store": { "semantic-data": { "strict-mode-valuematch": false, "propertyCount": 3, "propertyKeys": [ "_MDAT", "_SKEY", "Restricted record" ] } }, "assert-output": { "to-contain": [ "Foo.*\">Foo (123)" ] } }, { "type": "parser", "about": "#1 (record, passes validation, on leading spaces in annotation)", "subject": "P0922/2", "assert-store": { "semantic-data": { "strict-mode-valuematch": false, "propertyCount": 3, "propertyKeys": [ "_MDAT", "_SKEY", "Restricted record" ] } }, "assert-output": { "to-contain": [ "Foo.*\">Foo (123)" ] } }, { "type": "parser", "about": "#2 (record, passes validation)", "subject": "P0922/3", "assert-store": { "semantic-data": { "strict-mode-valuematch": false, "propertyCount": 3, "propertyKeys": [ "_MDAT", "_SKEY", "Restricted record" ] } }, "assert-output": { "to-contain": [ "Bar.*\">Bar (456)" ] } }, { "type": "parser", "about": "#4 (record, passes validation, on leading spaces in `Allows value` declaration)", "subject": "P0922/4", "assert-store": { "semantic-data": { "strict-mode-valuematch": false, "propertyCount": 3, "propertyKeys": [ "_MDAT", "_SKEY", "Restricted record" ] } }, "assert-output": { "to-contain": [ "Foobar.*\">Foobar (789)" ] } }, { "type": "parser", "about": "#5 (record, fails validation)", "subject": "P0922/5", "assert-store": { "semantic-data": { "strict-mode-valuematch": false, "propertyCount": 3, "propertyKeys": [ "_MDAT", "_SKEY", "_ERRC" ] } } }, { "type": "parser", "about": "#6 (reference, passes validation)", "subject": "P0922/6", "assert-store": { "semantic-data": { "strict-mode-valuematch": false, "propertyCount": 3, "propertyKeys": [ "_MDAT", "_SKEY", "Restricted reference" ] } }, "assert-output": { "to-contain": [ "http://example.org" ] } }, { "type": "parser", "about": "#7 (reference, fails validation)", "subject": "P0922/7", "assert-store": { "semantic-data": { "strict-mode-valuematch": false, "propertyCount": 3, "propertyKeys": [ "_MDAT", "_SKEY", "_ERRC" ] } }, "assert-output": { "not-contain": [ "http://example.orgfoo" ] } } ], "settings": { "wgContLang": "en", "wgLang": "en", "smwgPageSpecialProperties": [ "_MDAT" ], "smwgNamespacesWithSemanticLinks": { "NS_MAIN": true, "SMW_NS_PROPERTY": true } }, "meta": { "version": "2", "is-incomplete": false, "debug": false } }