Skip to content

Commit 774555c

Browse files
committed
Merged PR 311: v1.31.0 - Add square bracket versions of default reader directives
v1.31.0 - Add square bracket versions of default reader directives
1 parent bf7a245 commit 774555c

File tree

3 files changed

+82
-4
lines changed

3 files changed

+82
-4
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "modaq",
3-
"version": "1.30.1",
3+
"version": "1.31.0",
44
"description": "Quiz Bowl Reader using TypeScript, React, and MobX",
55
"repository": {
66
"type": "git",

src/parser/FormattedTextParser.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,14 @@ export const defaultPronunciationGuideMarkers: [string, string] = ["(", ")"];
88
/**
99
* Default reader directives used if none are passed into `IFormattingOptions`
1010
*/
11-
export const defaultReaderDirectives: string[] = ["(emphasize)", "(pause)", "(read slowly)"];
11+
export const defaultReaderDirectives: string[] = [
12+
"(emphasize)",
13+
"(pause)",
14+
"(read slowly)",
15+
"[emphasize]",
16+
"[pause]",
17+
"[read slowly]",
18+
];
1219

1320
/**
1421
* Options for how to parse and format text

tests/FormattedTextParserTests.ts

Lines changed: 73 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,12 +431,11 @@ describe("FormattedTextParserTests", () => {
431431
},
432432
]);
433433
});
434-
it("Default reader directives", () => {
434+
it("Default reader directives (parentheses)", () => {
435435
const textToFormat =
436436
"This (Emphasize) equation is proportional to (read slowly) a minus x, plus (pause) 1.";
437437
const result: IFormattedText[] = FormattedTextParser.parseFormattedText(textToFormat, {
438438
pronunciationGuideMarkers: ["[", "]"],
439-
// readerDirectives: ["(emphasize)", "(read slowly)", "(pause)"],
440439
});
441440
expect(result).to.deep.equal([
442441
{
@@ -504,6 +503,78 @@ describe("FormattedTextParserTests", () => {
504503
},
505504
]);
506505
});
506+
it("Default reader directives (square brackets)", () => {
507+
const textToFormat =
508+
"This [Emphasize] equation is proportional to [read Slowly] a minus x, plus [pause] 1.";
509+
const result: IFormattedText[] = FormattedTextParser.parseFormattedText(textToFormat, {
510+
pronunciationGuideMarkers: ["(", ")"],
511+
});
512+
expect(result).to.deep.equal([
513+
{
514+
text: "This ",
515+
bolded: false,
516+
emphasized: false,
517+
underlined: false,
518+
subscripted: false,
519+
superscripted: false,
520+
pronunciation: false,
521+
},
522+
{
523+
text: "[Emphasize]",
524+
bolded: false,
525+
emphasized: false,
526+
underlined: false,
527+
subscripted: false,
528+
superscripted: false,
529+
pronunciation: true,
530+
},
531+
{
532+
text: " equation is proportional to ",
533+
bolded: false,
534+
emphasized: false,
535+
underlined: false,
536+
subscripted: false,
537+
superscripted: false,
538+
pronunciation: false,
539+
},
540+
{
541+
text: "[read Slowly]",
542+
bolded: false,
543+
emphasized: false,
544+
underlined: false,
545+
subscripted: false,
546+
superscripted: false,
547+
pronunciation: true,
548+
},
549+
{
550+
text: " a minus x, plus ",
551+
bolded: false,
552+
emphasized: false,
553+
underlined: false,
554+
subscripted: false,
555+
superscripted: false,
556+
pronunciation: false,
557+
},
558+
{
559+
text: "[pause]",
560+
bolded: false,
561+
emphasized: false,
562+
underlined: false,
563+
subscripted: false,
564+
superscripted: false,
565+
pronunciation: true,
566+
},
567+
{
568+
text: " 1.",
569+
bolded: false,
570+
emphasized: false,
571+
underlined: false,
572+
subscripted: false,
573+
superscripted: false,
574+
pronunciation: false,
575+
},
576+
]);
577+
});
507578
it("Explicit reader directives", () => {
508579
const textToFormat = "This (Emphasize) equation is proportional to (slowly) a minus x, plus (pause) 1.";
509580
const result: IFormattedText[] = FormattedTextParser.parseFormattedText(textToFormat, {

0 commit comments

Comments
 (0)