mediawiki image grammar.
This commit is contained in:
@@ -137,6 +137,15 @@ var mediawiki = {
|
||||
rr.Literal("''"),
|
||||
rr.Ref('multiline-wikichunk'),
|
||||
rr.Literal("''"))),
|
||||
'multiline-img': rr.Node('imgtemp', rr.Sequence(
|
||||
rr.Literal('[[File:'),
|
||||
rr.Node('src', rr.SingleLineText()),
|
||||
rr.ZeroOrMore(rr.Sequence(
|
||||
rr.Literal('|'),
|
||||
rr.Node('option', rr.SingleLineText()))),
|
||||
rr.Literal('|'),
|
||||
rr.Node('caption', rr.Ref('multiline-wikichunk')),
|
||||
rr.Literal(']]'))),
|
||||
'multiline-nowiki': rr.Sequence(
|
||||
rr.Literal('<nowiki>'),
|
||||
rr.MultiLineText(),
|
||||
@@ -236,6 +245,7 @@ var mediawiki = {
|
||||
rr.Ref('list-ulli2'),
|
||||
rr.Ref('list-ulli3'),
|
||||
|
||||
rr.Ref('multiline-img'), // before a
|
||||
rr.Ref('multiline-a'),
|
||||
rr.Ref('multiline-bi'), // before b and i
|
||||
rr.Ref('multiline-b'),
|
||||
|
||||
16
test.js
16
test.js
@@ -97,3 +97,19 @@ QUnit.test('Link', function(assert) {
|
||||
var iterable = context.rules['wikidoc'].match(context);
|
||||
assert.equal(iterable.next().value.nodes[0].innerHTML, expected);
|
||||
});
|
||||
|
||||
QUnit.test('Image', function(assert) {
|
||||
assert.expect(1);
|
||||
var content = [
|
||||
"[[File:http://www.example.com/foo|Test image ''with formatting'']]"
|
||||
].join('\n');
|
||||
|
||||
var expected = [
|
||||
'<p><imgtemp><src>http://www.example.com/foo</src>',
|
||||
'<caption>Test image <i>with formatting</i></caption></imgtemp></p>'
|
||||
].join('');
|
||||
|
||||
var context = new rr.Context(mediawiki, content);
|
||||
var iterable = context.rules['wikidoc'].match(context);
|
||||
assert.equal(iterable.next().value.nodes[0].innerHTML, expected);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user