Skip to content

Commit

Permalink
fix(2.2.2): 〜つの慣用句に対応 (#85)
Browse files Browse the repository at this point in the history
  • Loading branch information
hirokiky committed Mar 10, 2021
1 parent ed2fd87 commit 8d032fb
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 5 deletions.
18 changes: 14 additions & 4 deletions src/2.2.2.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,9 @@ function reporter(context) {
};

// ignorePatternにマッチしたらmatchFnを呼ばないようにする(エラーを無視する)
const ignoreWhenMatched = (ignorePattern, matchFn) => {
const ignoreWhenMatched = (ignorePatterns, matchFn) => {
return (text, pattern, match) => {
if (ignorePattern.test(text)) {
if (ignorePatterns.some(p => p.test(text))) {
return null;
} else {
return matchFn(text, pattern, match);
Expand All @@ -172,9 +172,19 @@ function reporter(context) {
matchToReplace(
text,
/([一二三四五六七八九十壱弐参拾百〇]+)[兆億万]/g,
ignoreWhenMatched(/(数|何)([一二三四五六七八九十壱弐参拾百〇]+)[兆億万]/g, toNumber)
ignoreWhenMatched([/(数|何)([一二三四五六七八九十壱弐参拾百〇]+)[兆億万]/g], toNumber)
);
matchToReplace(
text,
/([一二三四五六七八九十壱弐参拾百〇]+)つ/g,
ignoreWhenMatched(
[
/[一二三四五六七八九]つ(返事|子|ひとつ|星|編|葉|橋|と[無な]い|に一つ)/g,
/(ただ|唯|[女男]手|穴|瓜|馬鹿の)[一二]つ/g
],
toNumber
)
);
matchToReplace(text, /([一二三四五六七八九十壱弐参拾百〇]+)つ/g, toNumber);
matchToReplace(text, /([一二三四五六七八九十壱弐参拾百〇]+)回/g, toNumber);
matchToReplace(text, /([一二三四五六七八九十壱弐参拾百〇]+)か月/g, toNumber);
matchToReplace(text, /([一二三四五六七八九十壱弐参拾百〇]+)番目/g, toNumber);
Expand Down
19 changes: 18 additions & 1 deletion test/2.2.2-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,24 @@ tester.run("2.2.2.算用数字と漢数字の使い分け", rule, {
"五大陸",
"数十億",
"何十万",
"しばしば数十万行以上に"
"しばしば数十万行以上に",
"二つ返事でOKした",
"三つ子の魂百まで",
"一つひとつ確かめる",
"ミシュラン二つ星",
"三つ編にする",
"四つ葉のクローバー",
"四つ橋線",
"二つと無い宝石",
"二つとない宝石",
"二つに一つしかない",
"ただ一つの弱点",
"唯一つの欠点",
"女手一つで育てた",
"男手一つで育てた",
"人を呪わば穴二つ",
"瓜二つの姉妹",
"馬鹿の一つ覚えだ"
],
invalid: [
{
Expand Down

0 comments on commit 8d032fb

Please sign in to comment.