diff --git a/grammars/mediawiki.js b/grammars/mediawiki.js index 3bac935..d3e4140 100644 --- a/grammars/mediawiki.js +++ b/grammars/mediawiki.js @@ -108,17 +108,17 @@ var mediawiki = { rr.Ref('multiline-wikichunk'), rr.Literal("'''''"))), 'multiline-blockquote': rr.Node('blockquote', rr.Sequence( - rr.Literal("
"), + rr.Literal(''))), 'multiline-code': rr.Node('code', rr.Sequence( - rr.Literal("'), rr.Ref('multiline-wikichunk'), - rr.Literal(""))), + rr.Literal('
"),
+ rr.Literal(''),
rr.Ref('multiline-wikichunk'),
- rr.Literal(""))),
+ rr.Literal(''))),
'multiline-comment': rr.Node('comment', rr.Sequence(
- rr.Literal(""))),
+ rr.Literal(' -->'))),
'multiline-del1': rr.Node('del', rr.Sequence(
rr.Literal('"),
+ rr.Literal(''),
rr.MultiLineText(),
- rr.Literal(""))),
+ rr.Literal(''))),
'multiline-tt': rr.Node('tt', rr.Sequence(
rr.Literal(''),
rr.Ref('multiline-wikichunk'),
@@ -161,13 +161,13 @@ var mediawiki = {
rr.Ref('singleline-wikichunk'),
rr.Literal("'''''"))),
'singleline-code': rr.Node('code', rr.Sequence(
- rr.Literal(""),
+ rr.Literal(''),
rr.Ref('singleline-wikichunk'),
- rr.Literal(""))),
+ rr.Literal(''))),
'singleline-comment': rr.Node('comment', rr.Sequence(
- rr.Literal(""))),
+ rr.Literal(' -->'))),
'singleline-del1': rr.Node('del', rr.Sequence(
rr.Literal('"),
+ rr.Literal(''),
rr.SingleLineText(),
- rr.Literal(""))),
+ rr.Literal(''))),
'singleline-tt': rr.Node('tt', rr.Sequence(
rr.Literal(''),
rr.Ref('singleline-wikichunk'),
@@ -224,8 +224,8 @@ var mediawiki = {
rr.Ref('list-ulli2'),
rr.Ref('list-ulli3'),
- rr.Ref('multiline-b'),
rr.Ref('multiline-bi'),
+ rr.Ref('multiline-b'),
rr.Ref('multiline-blockquote'),
rr.Ref('multiline-code'),
rr.Ref('multiline-comment'),
@@ -243,8 +243,8 @@ var mediawiki = {
rr.MultiLineText()),
'singleline-wikichunk': rr.Or(
- rr.Ref('singleline-b'),
rr.Ref('singleline-bi'),
+ rr.Ref('singleline-b'),
rr.Ref('singleline-code'),
rr.Ref('singleline-comment'),
rr.Ref('singleline-del1'),
diff --git a/test.js b/test.js
index 509e1d8..82f95c8 100644
--- a/test.js
+++ b/test.js
@@ -1,26 +1,42 @@
-QUnit.test('Simple', function(assert) {
+QUnit.module('mediawiki');
+
+QUnit.test('Base', function(assert) {
assert.expect(1);
- var context = new rr.Context(mediawiki,
- '=== Heading ===\n' +
- 'This is a wiki doc.\n' +
- "How about some '''bold and ''bold italic'''''.\n" +
- 'I would also love some this. Fixed width text looks like',
+ 'this. This sentence is inline pre-formatted, which stops ', + "'''''this from being bold and italic.'''''
This is a blockquote", + '', + '== Header 2 ==', + "=== Header 3 ''with italics'' ===", + '==== Header 4 ====', + '===== Header 5 =====', + '====== Header 6 ======', + '----', + '* Item 1a', + '* Item 1b', + '** Item 2', + '*** Item 3', + '* Item 1c', + '# Item 1a', + '# Item 1b', + '## Item 2', + '### Item 3', + '# Item 1c', + ";I don't really understand what a definition is", + ': But blockquotes are easy', + ':: Even larger ones', + '::::: And really huge ones' + ].join('\n'); + var context = new rr.Context(mediawiki, content); var iterable = context.rules['wikidoc'].match(context); assert.equal(iterable.next().value.nodes[0].innerHTML, - '