Skip to content

Commit

Permalink
feat: コンピューターの天才、9つのC言語を操る のMEMEを追加 (#712)
Browse files Browse the repository at this point in the history
  • Loading branch information
m2en authored Feb 7, 2023
1 parent 5ef5f05 commit 861d42d
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 1 deletion.
13 changes: 13 additions & 0 deletions src/service/command/meme/clang.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { MemeTemplate } from '../../../model/meme-template.js';

export const clang: MemeTemplate<never, never> = {
commandNames: ['clang', 'c'],
description: '〜の天才\n9つの〜を操る',
flagsKeys: [],
optionsKeys: [],
errorMessage: 'エラーの天才\n9つの引数エラーを操る',
generate(args) {
const [option1, option2] = args.body.split(' ');
return `${option1}の天才\n9つの${option2}を操る`;
}
};
4 changes: 3 additions & 1 deletion src/service/command/meme/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { clang } from './clang.js';
import { dousurya } from './dousurya.js';
import { hukueki } from './hukueki.js';
import { kenjou } from './kenjou.js';
Expand Down Expand Up @@ -25,5 +26,6 @@ export const memes = [
koume,
ojaru,
nine,
tsureteike
tsureteike,
clang
];
36 changes: 36 additions & 0 deletions src/service/command/meme/test/clang.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { describe, expect, it } from 'vitest';

import { parseStringsOrThrow } from '../../../../adaptor/proxy/command/schema.js';
import { createMockMessage } from '../../command-message.js';
import { Meme } from '../../meme.js';

describe('meme', () => {
const responder = new Meme();

it('use case of clang', async () => {
await responder.on(
createMockMessage(
parseStringsOrThrow(['clang', 'GitHub', 'ラベル'], responder.schema),
(message) => {
expect(message).toStrictEqual({
description: 'GitHubの天才\n9つのラベルを操る'
});
}
)
);
});

it('args null (clang)', async () => {
await responder.on(
createMockMessage(
parseStringsOrThrow(['clang'], responder.schema),
(message) => {
expect(message).toStrictEqual({
title: '引数が不足してるみたいだ。',
description: 'エラーの天才\n9つの引数エラーを操る'
});
}
)
);
});
});

0 comments on commit 861d42d

Please sign in to comment.