diff --git a/test/text.ts b/test/text.ts index 8a210575d..e2527cfe0 100644 --- a/test/text.ts +++ b/test/text.ts @@ -19,54 +19,61 @@ describe('Text', () => { ], tokens); }); - it('bold', () => { - const tokens = analyze('**Strawberry** Pasta'); - assert.deepEqual([ - { type: 'bold', content: '**Strawberry**', bold: 'Strawberry' }, - { type: 'text', content: ' Pasta' } - ], tokens); + it('逆関数で正しく復元できる', () => { + const text = '@himawari お腹ペコい :cat: #yryr'; + assert.equal(analyze(text).map(x => x.content).join(''), text); }); - it('mention', () => { - const tokens = analyze('@himawari お腹ペコい'); - assert.deepEqual([ - { type: 'mention', content: '@himawari', username: 'himawari' }, - { type: 'text', content: ' お腹ペコい' } - ], tokens); - }); + describe('elements', () => { + it('bold', () => { + const tokens = analyze('**Strawberry** Pasta'); + assert.deepEqual([ + { type: 'bold', content: '**Strawberry**', bold: 'Strawberry' }, + { type: 'text', content: ' Pasta' } + ], tokens); + }); - it('hashtag', () => { - const tokens = analyze('Strawberry Pasta #alice'); - assert.deepEqual([ - { type: 'text', content: 'Strawberry Pasta ' }, - { type: 'hashtag', content: '#alice', hashtag: 'alice' } - ], tokens); - }); + it('mention', () => { + const tokens = analyze('@himawari お腹ペコい'); + assert.deepEqual([ + { type: 'mention', content: '@himawari', username: 'himawari' }, + { type: 'text', content: ' お腹ペコい' } + ], tokens); + }); - it('link', () => { - const tokens = analyze('https://himasaku.net'); - assert.deepEqual([ - { type: 'link', content: 'https://himasaku.net' } - ], tokens); - }); + it('hashtag', () => { + const tokens = analyze('Strawberry Pasta #alice'); + assert.deepEqual([ + { type: 'text', content: 'Strawberry Pasta ' }, + { type: 'hashtag', content: '#alice', hashtag: 'alice' } + ], tokens); + }); - it('emoji', () => { - const tokens = analyze(':cat:'); - assert.deepEqual([ - { type: 'emoji', content: ':cat:', emoji: 'cat'} - ], tokens); - }); + it('link', () => { + const tokens = analyze('https://himasaku.net'); + assert.deepEqual([ + { type: 'link', content: 'https://himasaku.net' } + ], tokens); + }); - it('block code', () => { - const tokens = analyze('```\nvar x = "Strawberry Pasta";\n```'); - assert.equal(tokens[0].type, 'code'); - assert.equal(tokens[0].content, '```\nvar x = "Strawberry Pasta";\n```'); - }); + it('emoji', () => { + const tokens = analyze(':cat:'); + assert.deepEqual([ + { type: 'emoji', content: ':cat:', emoji: 'cat'} + ], tokens); + }); - it('inline code', () => { - const tokens = analyze('`var x = "Strawberry Pasta";`'); - assert.equal(tokens[0].type, 'inline-code'); - assert.equal(tokens[0].content, '`var x = "Strawberry Pasta";`'); + it('block code', () => { + const tokens = analyze('```\nvar x = "Strawberry Pasta";\n```'); + assert.equal(tokens[0].type, 'code'); + assert.equal(tokens[0].content, '```\nvar x = "Strawberry Pasta";\n```'); + }); + + it('inline code', () => { + const tokens = analyze('`var x = "Strawberry Pasta";`'); + assert.equal(tokens[0].type, 'inline-code'); + assert.equal(tokens[0].content, '`var x = "Strawberry Pasta";`'); + }); }); describe('syntax highlighting', () => {