summaryrefslogtreecommitdiff
path: root/packages/backend/test/unit/MfmService.ts
diff options
context:
space:
mode:
authorHong Minhee (洪 民憙) <hong@minhee.org>2025-01-14 22:06:39 +0900
committerGitHub <noreply@github.com>2025-01-14 13:06:39 +0000
commitd018fe58aa91eb702b098df659f23f9a981f4368 (patch)
tree8779dd2e0fb45cb7762a7d3c9a5f562487b1e564 /packages/backend/test/unit/MfmService.ts
parentenhance(backend): 絵文字の連合でライセンス欄を相互にやり... (diff)
downloadsharkey-d018fe58aa91eb702b098df659f23f9a981f4368.tar.gz
sharkey-d018fe58aa91eb702b098df659f23f9a981f4368.tar.bz2
sharkey-d018fe58aa91eb702b098df659f23f9a981f4368.zip
fix(backend): Let MfmService.fromHtml accept ruby (#15117)
This fix makes `MfmService.fromHtml()` method accept `<ruby>` tags and translate it to MFM's ruby characters syntax (`$[ruby ...]`). このパッチは`MfmService.fromHtml()`メソッドが`<ruby>`タグをMFMの 読み仮名(ルビ)文法に翻訳する様に修正します。
Diffstat (limited to 'packages/backend/test/unit/MfmService.ts')
-rw-r--r--packages/backend/test/unit/MfmService.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/backend/test/unit/MfmService.ts b/packages/backend/test/unit/MfmService.ts
index fd4a03413b..36af8823f6 100644
--- a/packages/backend/test/unit/MfmService.ts
+++ b/packages/backend/test/unit/MfmService.ts
@@ -108,6 +108,24 @@ describe('MfmService', () => {
assert.deepStrictEqual(mfmService.fromHtml('<p>a <a></a> d</p>'), 'a d');
});
+ test('ruby', () => {
+ assert.deepStrictEqual(mfmService.fromHtml('<p>a <ruby>Misskey<rp>(</rp><rt>ミスキー</rt><rp>)</rp></ruby> b</p>'), 'a $[ruby Misskey ミスキー] b');
+ assert.deepStrictEqual(mfmService.fromHtml('<p>a <ruby>Misskey<rp>(</rp><rt>ミスキー</rt><rp>)</rp>Misskey<rp>(</rp><rt>ミスキー</rt><rp>)</rp></ruby> b</p>'), 'a $[ruby Misskey ミスキー]$[ruby Misskey ミスキー] b');
+ });
+
+ test('ruby with spaces', () => {
+ assert.deepStrictEqual(mfmService.fromHtml('<p>a <ruby>Miss key<rp>(</rp><rt>ミスキー</rt><rp>)</rp> b</ruby> c</p>'), 'a Miss key(ミスキー) b c');
+ assert.deepStrictEqual(mfmService.fromHtml('<p>a <ruby>Misskey<rp>(</rp><rt>ミス キー</rt><rp>)</rp> b</ruby> c</p>'), 'a Misskey(ミス キー) b c');
+ assert.deepStrictEqual(
+ mfmService.fromHtml('<p>a <ruby>Misskey<rp>(</rp><rt>ミスキー</rt><rp>)</rp>Misskey<rp>(</rp><rt>ミス キー</rt><rp>)</rp>Misskey<rp>(</rp><rt>ミスキー</rt><rp>)</rp></ruby> b</p>'),
+ 'a Misskey(ミスキー)Misskey(ミス キー)Misskey(ミスキー) b'
+ );
+ });
+
+ test('ruby with other inline tags', () => {
+ assert.deepStrictEqual(mfmService.fromHtml('<p>a <ruby><strong>Misskey</strong><rp>(</rp><rt>ミスキー</rt><rp>)</rp> b</ruby> c</p>'), 'a **Misskey**(ミスキー) b c');
+ });
+
test('mention', () => {
assert.deepStrictEqual(mfmService.fromHtml('<p>a <a href="https://example.com/@user" class="u-url mention">@user</a> d</p>'), 'a @user@example.com d');
});