aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--search/tags.ts2
-rw-r--r--test/deinflection/test.ts7
2 files changed, 6 insertions, 3 deletions
diff --git a/search/tags.ts b/search/tags.ts
index fa70fe8..22ea315 100644
--- a/search/tags.ts
+++ b/search/tags.ts
@@ -198,6 +198,7 @@ export function parseTags(input: string) {
if (tag == Tag.Inflection.Suffix.Te && [
Tag.Inflection.Tense.Continuous, // base for continuous tense
Tag.Inflection.Obligatory, // base for obligatory inflection
+ Tag.Inflection.Temporary.ObligatoryParticle, // base for obligatory inflection
Tag.Inflection.Attempt.Miru, // base for 〜みる attempt
].includes(lastTag as any)) continue;
@@ -210,6 +211,7 @@ export function parseTags(input: string) {
if (tag == Tag.Inflection.Conditional.Ba && [
Tag.Inflection.Obligatory,
Tag.Inflection.Temporary.ObligatoryResult,
+ Tag.Inflection.Temporary.ObligatoryParticle,
].includes(lastTag as any)) continue;
// normalize multiple Inflection.Negative to single Inflection.Affirmative or Inflection.Negative
diff --git a/test/deinflection/test.ts b/test/deinflection/test.ts
index 6c1667b..291ed83 100644
--- a/test/deinflection/test.ts
+++ b/test/deinflection/test.ts
@@ -10,9 +10,10 @@ cases.forEach(({ input, mustHave, mustNotHave, force }) => {
throw new Error("No parsed terms for input");
// console.log(terms);
- var result = terms.find(t => t.source == input);
+ terms = terms.filter(t => t.source == input);
if (force)
- result = terms.find(t => t.reading == force.reading && t.writing == force.writing);
+ terms = terms.filter(t => t.reading == force.reading && t.writing == force.writing);
+ var result = terms[0];
if (!result)
throw new Error("No deconjugation found for input");
@@ -26,7 +27,7 @@ cases.forEach(({ input, mustHave, mustNotHave, force }) => {
if (result.tags.includes(tag))
throw new Error(`Deconjugation includes unallowed tag ${tag}`);
- console.log(result.writing + " + " + result.tags.filter(tag => tag.startsWith("infl:") && !tag.startsWith("infl:reason:")).join(" + "));
+ // console.log(result.writing + " + " + result.tags.filter(tag => tag.startsWith("infl:") && !tag.startsWith("infl:reason:")).join(" + "));
});
})