summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mfm/parse/elements/search.ts2
-rw-r--r--test/mfm.ts22
2 files changed, 23 insertions, 1 deletions
diff --git a/src/mfm/parse/elements/search.ts b/src/mfm/parse/elements/search.ts
index e5d9b9f0c2..9c4b7ffbe5 100644
--- a/src/mfm/parse/elements/search.ts
+++ b/src/mfm/parse/elements/search.ts
@@ -9,7 +9,7 @@ export type TextElementSearch = {
};
export default function(text: string) {
- const match = text.match(/^(.+?) 検索(\n|$)/);
+ const match = text.match(/^(.+?) (検索|Search)(\n|$)/i);
if (!match) return null;
return {
type: 'search',
diff --git a/test/mfm.ts b/test/mfm.ts
index de722bffb3..f7fa1c0f5d 100644
--- a/test/mfm.ts
+++ b/test/mfm.ts
@@ -93,6 +93,28 @@ describe('Text', () => {
assert.equal(tokens[0].type, 'inline-code');
assert.equal(tokens[0].content, '`var x = "Strawberry Pasta";`');
});
+
+ it('search', () => {
+ const tokens1 = analyze('a b c 検索');
+ assert.deepEqual([
+ { type: 'search', content: 'a b c 検索', query: 'a b c'}
+ ], tokens1);
+
+ const tokens2 = analyze('a b c Search');
+ assert.deepEqual([
+ { type: 'search', content: 'a b c Search', query: 'a b c'}
+ ], tokens2);
+
+ const tokens3 = analyze('a b c search');
+ assert.deepEqual([
+ { type: 'search', content: 'a b c search', query: 'a b c'}
+ ], tokens3);
+
+ const tokens4 = analyze('a b c SEARCH');
+ assert.deepEqual([
+ { type: 'search', content: 'a b c SEARCH', query: 'a b c'}
+ ], tokens4);
+ });
});
describe('syntax highlighting', () => {