33 */
44
55import moment from 'moment' ;
6- import { getSettings , resetSettings , updateSettings } from '../../src/Config/Settings' ;
6+ import { type IncludesMap , getSettings , resetSettings , updateSettings } from '../../src/Config/Settings' ;
77import { Query } from '../../src/Query/Query' ;
88import { TasksFile } from '../../src/Scripting/TasksFile' ;
99
@@ -18,9 +18,15 @@ afterEach(() => {
1818 resetSettings ( ) ;
1919} ) ;
2020
21+ export function makeIncludes ( ...entries : [ string , string ] [ ] ) : IncludesMap {
22+ return Object . fromEntries ( entries ) ;
23+ }
24+
2125describe ( 'include tests' , ( ) => {
2226 it ( 'should accept whole-line include placeholder' , ( ) => {
23- updateSettings ( { includes : { not_done : 'not done' } } ) ;
27+ updateSettings ( {
28+ includes : makeIncludes ( [ 'not_done' , 'not done' ] ) ,
29+ } ) ;
2430
2531 const source = '{{includes.not_done}}' ;
2632 const query = new Query ( source , new TasksFile ( 'stuff.md' ) ) ;
@@ -31,7 +37,9 @@ describe('include tests', () => {
3137 } ) ;
3238
3339 it ( 'should accept whole-line include filter instruction' , ( ) => {
34- updateSettings ( { includes : { not_done : 'not done' } } ) ;
40+ updateSettings ( {
41+ includes : makeIncludes ( [ 'not_done' , 'not done' ] ) ,
42+ } ) ;
3543
3644 const source = 'include not_done' ;
3745 const query = new Query ( source , new TasksFile ( 'stuff.md' ) ) ;
@@ -43,7 +51,9 @@ describe('include tests', () => {
4351 } ) ;
4452
4553 it ( 'should accept whole-line include layout instruction' , ( ) => {
46- updateSettings ( { includes : { show_tree : 'show tree' } } ) ;
54+ updateSettings ( {
55+ includes : makeIncludes ( [ 'show_tree' , 'show tree' ] ) ,
56+ } ) ;
4757
4858 const source = 'include show_tree' ;
4959 const query = new Query ( source , new TasksFile ( 'stuff.md' ) ) ;
@@ -55,8 +65,9 @@ describe('include tests', () => {
5565 } ) ;
5666
5767 it ( 'should accept multi-line include' , ( ) => {
58- updateSettings ( { includes : { multi_line : 'scheduled tomorrow\nhide backlink' } } ) ;
59-
68+ updateSettings ( {
69+ includes : makeIncludes ( [ 'multi_line' , 'scheduled tomorrow\nhide backlink' ] ) ,
70+ } ) ;
6071 const source = 'include multi_line' ;
6172 const query = new Query ( source , new TasksFile ( 'stuff.md' ) ) ;
6273
@@ -84,10 +95,11 @@ describe('include tests', () => {
8495
8596 it ( 'should support nested include instructions' , ( ) => {
8697 updateSettings ( {
87- includes : {
88- inside : 'not done' ,
89- out : 'include inside\nhide edit button' ,
90- } ,
98+ includes : makeIncludes (
99+ // Force line break
100+ [ 'inside' , 'not done' ] ,
101+ [ 'out' , 'include inside\nhide edit button' ] ,
102+ ) ,
91103 } ) ;
92104
93105 const source = 'include out' ;
@@ -105,10 +117,10 @@ describe('include tests', () => {
105117
106118 it ( 'should explain two levels of nested includes' , ( ) => {
107119 updateSettings ( {
108- includes : {
109- inside : '(happens this week) AND (starts before today)' ,
110- out : 'include inside\nnot done' ,
111- } ,
120+ includes : makeIncludes (
121+ [ ' inside' , '(happens this week) AND (starts before today)' ] ,
122+ [ ' out' , 'include inside\nnot done' ] ,
123+ ) ,
112124 } ) ;
113125
114126 const source = 'include out' ;
@@ -133,10 +145,11 @@ describe('include tests', () => {
133145
134146 it ( 'should give meaningful error message about included text' , ( ) => {
135147 updateSettings ( {
136- includes : {
137- inside : 'apple sauce' ,
138- out : 'include inside' ,
139- } ,
148+ includes : makeIncludes (
149+ // Force line break
150+ [ 'inside' , 'apple sauce' ] ,
151+ [ 'out' , 'include inside' ] ,
152+ ) ,
140153 } ) ;
141154
142155 const source = 'include out' ;
0 commit comments