Skip to content
This repository was archived by the owner on Jan 15, 2025. It is now read-only.

Commit 1335b0d

Browse files
authored
Merge pull request #154 from microsoft/vishwac/pa-fix
luis:convert - fix pattern.any entities handled correctly
2 parents b8dd193 + f2a4e04 commit 1335b0d

File tree

3 files changed

+36
-2
lines changed

3 files changed

+36
-2
lines changed

packages/luis/parser/lufile/parseFileContents.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ const parseAndHandleEntity = function (parsedContent, luResource, log, locale) {
418418
let parsedRoleAndType = helpers.getRolesAndType(entityType);
419419
let entityRoles = parsedRoleAndType.roles;
420420
entityType = parsedRoleAndType.entityType;
421-
let pEntityName = (entityName === 'PREBUILT') ? entityType : entityName;
421+
let pEntityName = (entityName.toLowerCase() === 'prebuilt') ? entityType : entityName;
422422
// see if we already have this as Pattern.Any entity
423423
// see if we already have this in patternAny entity collection; if so, remove it but remember the roles (if any)
424424
for (let i in parsedContent.LUISJsonStructure.patternAnyEntities) {

packages/luis/parser/qnafile/parseQnAFile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const exception = ('./../lufile/classes/exception')
1+
const exception = require('./../lufile/classes/exception')
22
const retCode = require('./../lufile/enums/CLI-errors')
33

44
module.exports = {

packages/luis/test/parser/lufile/parseFileContents.parseFile.test.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -982,4 +982,38 @@ describe('parseFile correctly parses utterances', function () {
982982
})
983983
.catch(err => done('Fail! Did not throw when expected'))
984984
})
985+
986+
it ('patterns are handled correctly', function(done){
987+
let testLU = `# intent1
988+
- this is a {number}
989+
990+
$ prebuilt : number`;
991+
992+
parseFile.parseFile(testLU)
993+
.then(res => {
994+
assert.equal(res.LUISJsonStructure.patternAnyEntities.length, 0);
995+
assert.equal(res.LUISJsonStructure.prebuiltEntities.length, 1);
996+
done();
997+
})
998+
.catch(err => done('Fail!'))
999+
})
1000+
1001+
it ('patterns are handled correctly (with roles)', function(done){
1002+
let testLU = `# intent1
1003+
- this is a {number:one}
1004+
1005+
$ prebuilt : number`;
1006+
1007+
parseFile.parseFile(testLU)
1008+
.then(res => {
1009+
assert.equal(res.LUISJsonStructure.patternAnyEntities.length, 0);
1010+
assert.equal(res.LUISJsonStructure.prebuiltEntities.length, 1);
1011+
assert.equal(res.LUISJsonStructure.prebuiltEntities[0].roles.length, 1);
1012+
done();
1013+
})
1014+
.catch(err => done('Fail!'))
1015+
1016+
})
1017+
1018+
9851019
})

0 commit comments

Comments
 (0)