Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 28 additions & 2 deletions test/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ test('exhaustive vs non-exhaustive expansion', function (t) {
var slots = { "MOVIE": "LITERAL" };
var template = "{foo|bar|baz} {foo|bar|baz} {movie_names|MOVIE}";
var result = utterances(template, slots, dictionary);
t.deepEqual(result, [
t.deepEqual(result, [
"foo foo {star wars|MOVIE}",
"bar foo {inception|MOVIE}",
"baz foo {gattaca|MOVIE}",
Expand All @@ -68,7 +68,7 @@ test('exhaustive vs non-exhaustive expansion', function (t) {
]);

var result2 = utterances(template, slots, dictionary, true);
t.deepEqual(result2, [
t.deepEqual(result2, [
"foo foo {star wars|MOVIE}",
"bar foo {star wars|MOVIE}",
"baz foo {star wars|MOVIE}",
Expand Down Expand Up @@ -123,3 +123,29 @@ test('raw curly braces for custom slot types', function (t) {
]);
t.end();
});

test('exhaustive vs non-exhaustive expansion with multiple variables', function (t) {
var dictionary = {}
var slots = { "number": "NUMBER" };
var template = "{to |}set temperature to {1-2|number}";

var exhaustiveResult = utterances(template, slots, dictionary, true);
t.deepEqual(exhaustiveResult, [
"to set temperature to {one|number}",
"set temperature to {one|number}",
"to set temperature to {two|number}",
"set temperature to {two|number}"
]);

var nonExhaustiveResult = utterances(template, slots, dictionary);
t.deepEqual(nonExhaustiveResult, [
"to set temperature to {one|number}",
"set temperature to {one|number}",
"to set temperature to {two|number}",
"set temperature to {two|number}"
]);

t.deepEqual(nonExhaustiveResult, exhaustiveResult);

t.end();
});