/*
* Famedly Matrix SDK
* Copyright (C) 2019, 2020 Famedly GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see strike works!');
});
test('spoilers', () {
expect(
markdown('Snape killed ||Dumbledoor||'),
'Snape killed Dumbledoor',
);
expect(
markdown('Snape killed ||Story|Dumbledoor||'),
'Snape killed Dumbledoor',
);
expect(
markdown('Snape killed ||Some dumb loser|Dumbledoor||'),
'Snape killed Dumbledoor',
);
expect(
markdown('Snape killed ||Some dumb loser|Dumbledoor **bold**||'),
'Snape killed Dumbledoor bold',
);
expect(
markdown('Snape killed ||Dumbledoor **bold**||'),
'Snape killed Dumbledoor bold',
);
});
test('linebreaks', () {
expect(markdown('Heya!\nBeep'), 'Heya!
Beep');
expect(markdown('Heya!\n\nBeep'), '
Heya!
Beep
'); expect(markdown('Heya!\n\n\nBeep'), 'Heya!
Beep
Heya!
Beep
Heya!
Beep
Heya!
Beep
Heya!
Beep
blubb
'); }); test('lists', () { expect( markdown('So we have:\n- foxies\n- cats\n- dogs'), 'So we have:
\\frac{2}{3}',
);
expect(
markdown('meep \$hmm *yay*\$'),
'meep hmm *yay*',
);
expect(
markdown('you have \$somevar and \$someothervar'),
'you have \$somevar and \$someothervar',
);
expect(
markdown('meep ||\$\\frac{2}{3}\$||'),
'meep \\frac{2}{3}',
);
expect(
markdown('meep `\$\\frac{2}{3}\$`'),
'meep \$\\frac{2}{3}\$',
);
});
test('Code blocks', () {
expect(
markdown(
'```dart\nvoid main(){\nprint(something);\n}\n```',
convertLinebreaks: true,
),
'void main(){\nprint(something);\n}\n',
);
expect(
markdown(
'The first \n codeblock\n```dart\nvoid main(){\nprint(something);\n}\n```\nAnd the second code block\n```js\nmeow\nmeow\n```',
convertLinebreaks: true,
),
'The first
codeblock
void main(){\nprint(something);\n}\nAnd the second code block
meow\nmeow\n',
);
});
});
}