diff --git a/libraries/adaptive-expressions/src/functionUtils.internal.ts b/libraries/adaptive-expressions/src/functionUtils.internal.ts index df9acbaf6d..12654edb32 100644 --- a/libraries/adaptive-expressions/src/functionUtils.internal.ts +++ b/libraries/adaptive-expressions/src/functionUtils.internal.ts @@ -210,21 +210,8 @@ export class InternalFunctionUtils { if (instance instanceof Map && (instance as Map) !== undefined) { const instanceMap: Map = instance as Map; value = instanceMap.get(property); - if (value === undefined) { - const prop: string = Array.from(instanceMap.keys()).find( - (k: string): boolean => k.toLowerCase() === property.toLowerCase(), - ); - if (prop !== undefined) { - value = instanceMap.get(prop); - } - } } else { - const prop: string = Object.keys(instance).find( - (k: string): boolean => k.toLowerCase() === property.toLowerCase(), - ); - if (prop !== undefined) { - value = instance[prop]; - } + value = instance[property]; } return { value, error }; diff --git a/libraries/adaptive-expressions/tests/expressionParser.test.js b/libraries/adaptive-expressions/tests/expressionParser.test.js index dcce75dce5..f3ef442d4e 100644 --- a/libraries/adaptive-expressions/tests/expressionParser.test.js +++ b/libraries/adaptive-expressions/tests/expressionParser.test.js @@ -22,6 +22,7 @@ const testCases = [ ['"ab\\ycd"', 'ab\\ycd'], //"ab\ycd" -> ab\ycd ["'ab\\'cd'", "ab'cd"], // 'ab\'cd' -> ab'cd ['alist[0].Name', 'item1'], + ['alist[0].name', undefined], // case sensitive, should not be found ], }, { @@ -170,16 +171,15 @@ const testCases = [ ['bag.name == null ? "hello": bag.name', 'mybag'], ['one > 0? one : two', 1], ['hello * 5?"r1":"r2"', 'r2'], - ['timestampObj < timestampObj2', false], - ['timestampObj2 < timestampObj', true], - ['timestampObj > timestampObj2', true], - ['timestampObj2 > timestampObj', false], - ['timestampObj >= timestampObj2', true], - ['timestampObj2 >= timestampObj', false], - ['timestampObj <= timestampObj2', false], - ['timestampObj2 <= timestampObj', true], - ['timestampObj == timestampObj2', false], - ['timestampObj == timestampObj', true], + ['timeStampObj2 < timeStampObj', true], + ['timeStampObj > timeStampObj2', true], + ['timeStampObj2 > timeStampObj', false], + ['timeStampObj >= timeStampObj2', true], + ['timeStampObj2 >= timeStampObj', false], + ['timeStampObj <= timeStampObj2', false], + ['timeStampObj2 <= timeStampObj', true], + ['timeStampObj == timeStampObj2', false], + ['timeStampObj == timeStampObj', true], ['where([{a: 1, b:{c: 2}}, {b: 2}], x, x == { b: { c: 2}, a: 1})[0].b.c', 2], ], }, @@ -578,7 +578,7 @@ const testCases = [ ["formatDateTime('2018-03-15T11:00:00.123', 't')", 'AM'], ["formatDateTime('2018-03-15T11:00:00.123', 'tt')", 'AM'], ["formatDateTime('2018-03-15')", '2018-03-15T00:00:00.000Z'], - ['formatDateTime(timestampObj)', '2018-03-15T13:00:00.000Z'], + ['formatDateTime(timeStampObj)', '2018-03-15T13:00:00.000Z'], ['formatEpoch(unixTimestamp)', '2018-03-15T13:00:00.000Z'], ["formatEpoch(unixTimestamp, 'MM-dd', 'es-ES')", '03-15'], ['formatEpoch(unixTimestampFraction)', '2018-03-15T13:00:00.500Z'], @@ -792,8 +792,8 @@ const testCases = [ 'string(merge(json1, json2, json3))', '{"FirstName":"John","LastName":"Smith","Enabled":true,"Roles":["Customer","Admin"],"age":36}', ], - ['merge(callstack[1], callstack[2]).z', 1], - ['merge(callstack).z', 1], + ['merge(callStack[1], callStack[2]).z', 1], + ['merge(callStack).z', 1], [ "string(merge({k1:'v1'}, [{k2:'v2'}, {k3: 'v3'}], {k4:'v4'}))", '{"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}', @@ -987,7 +987,7 @@ const scope = { validTimeRange: new TimexProperty({ partOfDay: 'morning' }), validNow: new TimexProperty({ now: true }), invalidHourTimex: new TimexProperty('2001-02-20'), - timestampObj: new Date('2018-03-15T13:00:00.000Z'), + timeStampObj: new Date('2018-03-15T13:00:00.000Z'), timeStampObj2: new Date('2018-01-02T02:00:00.000Z'), unixTimestamp: 1521118800, unixTimestampFraction: 1521118800.5,