Skip to content

Commit 311e951

Browse files
committed
Until
1 parent 77b403d commit 311e951

File tree

3 files changed

+36
-2
lines changed

3 files changed

+36
-2
lines changed

src/compile/func/func.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ function FromConst(options: Options, name: string, value: string): string {
8787
// ------------------------------------------------------------------
8888
function FromUntil(options: Options, name: string, values: string[]): string {
8989
const escaped = values.map(value => `'${Escape(value)}'`)
90-
return `Runtime.Token.Until('${escaped.join(', ')}', input)`
90+
return `Runtime.Token.Until(${escaped.join(', ')}, input)`
9191
}
9292
// ------------------------------------------------------------------
9393
// Ident

test/__tests__/runtime/token.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,4 +176,20 @@ Deno.test('Until: Newline-Multi-Whitespace', () => {
176176
Assert(Runtime.Token.Until(['\n '], ' \n A '), [' ', '\n A '])
177177
Assert(Runtime.Token.Until(['\n '], ' \n AA'), [' ', '\n AA'])
178178
Assert(Runtime.Token.Until(['\n '], ' \n AA '), [' ', '\n AA '])
179+
})
180+
181+
Deno.test('Until: Multi Sentinal Test', () => {
182+
Assert(Runtime.Token.Until(['A', 'B'], ''), [])
183+
Assert(Runtime.Token.Until(['A', 'B'], 'A'), ['', 'A'])
184+
Assert(Runtime.Token.Until(['A', 'B'], 'B'), ['', 'B'])
185+
Assert(Runtime.Token.Until(['A', 'B'], 'AB'), ['', 'AB'])
186+
Assert(Runtime.Token.Until(['A', 'B'], 'BA'), ['', 'BA'])
187+
Assert(Runtime.Token.Until(['A', 'B'], ' AB'), [' ', 'AB'])
188+
Assert(Runtime.Token.Until(['A', 'B'], ' BA'), [' ', 'BA'])
189+
Assert(Runtime.Token.Until(['A', ' B'], ' BA'), [' ', ' BA'])
190+
Assert(Runtime.Token.Until([' A', 'B'], ' BA'), [' ', 'BA'])
191+
Assert(Runtime.Token.Until(['B', 'A'], ' AB'), [' ', 'AB'])
192+
Assert(Runtime.Token.Until(['B', 'A'], ' BA'), [' ', 'BA'])
193+
Assert(Runtime.Token.Until(['B', ' A'], ' BA'), [' ', 'BA'])
194+
Assert(Runtime.Token.Until([' B', 'A'], ' BA'), [' ', ' BA'])
179195
})

test/__tests__/static/token.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,4 +210,22 @@ Assert<Static.Token.Until<['\n '], ' \nAA '>, []>
210210
Assert<Static.Token.Until<['\n '], '\n A'>, ['', '\n A']>
211211
Assert<Static.Token.Until<['\n '], ' \n A '>, [' ', '\n A ']>
212212
Assert<Static.Token.Until<['\n '], ' \n AA'>, [' ', '\n AA']>
213-
Assert<Static.Token.Until<['\n '], ' \n AA '>, [' ', '\n AA ']>
213+
Assert<Static.Token.Until<['\n '], ' \n AA '>, [' ', '\n AA ']>
214+
215+
// ------------------------------------------------------------------
216+
// Until: Multi Sentinal Test
217+
// ------------------------------------------------------------------
218+
Assert<Static.Token.Until<['A', 'B'], ''>, []>
219+
Assert<Static.Token.Until<['A', 'B'], 'A'>, ['', 'A']>
220+
Assert<Static.Token.Until<['A', 'B'], 'B'>, ['', 'B']>
221+
Assert<Static.Token.Until<['A', 'B'], 'AB'>, ['', 'AB']>
222+
Assert<Static.Token.Until<['A', 'B'], 'BA'>, ['', 'BA']>
223+
Assert<Static.Token.Until<['A', 'B'], ' AB'>, [' ', 'AB']>
224+
Assert<Static.Token.Until<['A', 'B'], ' BA'>, [' ', 'BA']>
225+
Assert<Static.Token.Until<['A', ' B'], ' BA'>, [' ', ' BA']>
226+
Assert<Static.Token.Until<[' A', 'B'], ' BA'>, [' ', 'BA']>
227+
Assert<Static.Token.Until<['B', 'A'], ' AB'>, [' ', 'AB']>
228+
Assert<Static.Token.Until<['B', 'A'], ' BA'>, [' ', 'BA']>
229+
Assert<Static.Token.Until<['B', ' A'], ' BA'>, [' ', 'BA']>
230+
Assert<Static.Token.Until<[' B', 'A'], ' BA'>, [' ', ' BA']>
231+

0 commit comments

Comments
 (0)