diff --git a/pom.xml b/pom.xml index c778a9f6d..8a047525c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.thingsboard tbel jar - 1.2.6 + 1.2.7 tbel https://thingsboard.io/ diff --git a/src/main/java/org/mvel2/execution/ExecutionArrayList.java b/src/main/java/org/mvel2/execution/ExecutionArrayList.java index 4a206007b..850ed0508 100644 --- a/src/main/java/org/mvel2/execution/ExecutionArrayList.java +++ b/src/main/java/org/mvel2/execution/ExecutionArrayList.java @@ -299,4 +299,8 @@ public boolean validateClazzInArrayIsOnlyNumber(Object e) { return false; } } + + public boolean validateClazzInArrayIsOnlyString() { + return !super.stream().anyMatch(e -> !(e instanceof String)); + } } diff --git a/src/test/java/org/mvel2/tests/core/TbExpressionsTest.java b/src/test/java/org/mvel2/tests/core/TbExpressionsTest.java index 8534faf67..4d456cae2 100644 --- a/src/test/java/org/mvel2/tests/core/TbExpressionsTest.java +++ b/src/test/java/org/mvel2/tests/core/TbExpressionsTest.java @@ -2413,54 +2413,6 @@ public void testExpectType_InputKnownEgressTypeAsInterface() { assertEquals(expected, actual); } - public void testExecutionHashMap_Public_Key_Value() { - String body = "var msg1 = {\n" + - " \"temperature\": 22.4,\n" + - " \"humidity\": 78\n" + - "};\n" + - "\n" + - "var map = {\n" + - " \"test\": 42,\n" + - " \"nested\": {\n" + - " \"rssi\": 130\n" + - " }\n" + - "};\n" + - "foreach(element: map) {\n" + - " msg1[element.key] = element.value;\n" + - "}\n" + - "return {\n" + - " msg1\n" + - "};"; - Object result = executeScript(body); - - String expected = "[{temperature=22.4, humidity=78, test=42, nested={rssi=130}}]"; - assertEquals(expected, result.toString()); - } - - public void testExecutionHashMap_getKey_getValue() { - String body = "var msg1 = {\n" + - " \"temperature\": 22.4,\n" + - " \"humidity\": 78\n" + - "};\n" + - "\n" + - "var map = {\n" + - " \"test\": 42,\n" + - " \"nested\": {\n" + - " \"rssi\": 130\n" + - " }\n" + - "};\n" + - "foreach(element: map) {\n" + - " msg1[element.getKey()] = element.getValue();\n" + - "}\n" + - "return {\n" + - " msg1\n" + - "};"; - Object result = executeScript(body); - - String expected = "[{temperature=22.4, humidity=78, test=42, nested={rssi=130}}]"; - assertEquals(expected, result.toString()); - } - public void testBooleanBitwiseOperations() { String body = " var x = true;\n" + "var y = false;\n" + diff --git a/src/test/java/org/mvel2/tests/core/TbMapArrayListExpressionsTest.java b/src/test/java/org/mvel2/tests/core/TbMapArrayListExpressionsTest.java index 481689838..187540de8 100644 --- a/src/test/java/org/mvel2/tests/core/TbMapArrayListExpressionsTest.java +++ b/src/test/java/org/mvel2/tests/core/TbMapArrayListExpressionsTest.java @@ -1040,6 +1040,54 @@ public void testExecutionHashMap_ToReversed() { assertTrue(eq); } + public void testExecutionHashMap_Public_Key_Value() { + String body = "var msg1 = {\n" + + " \"temperature\": 22.4,\n" + + " \"humidity\": 78\n" + + "};\n" + + "\n" + + "var map = {\n" + + " \"test\": 42,\n" + + " \"nested\": {\n" + + " \"rssi\": 130\n" + + " }\n" + + "};\n" + + "foreach(element: map) {\n" + + " msg1[element.key] = element.value;\n" + + "}\n" + + "return {\n" + + " msg1\n" + + "};"; + Object result = executeScript(body); + + String expected = "[{temperature=22.4, humidity=78, test=42, nested={rssi=130}}]"; + assertEquals(expected, result.toString()); + } + + public void testExecutionHashMap_getKey_getValue() { + String body = "var msg1 = {\n" + + " \"temperature\": 22.4,\n" + + " \"humidity\": 78\n" + + "};\n" + + "\n" + + "var map = {\n" + + " \"test\": 42,\n" + + " \"nested\": {\n" + + " \"rssi\": 130\n" + + " }\n" + + "};\n" + + "foreach(element: map) {\n" + + " msg1[element.getKey()] = element.getValue();\n" + + "}\n" + + "return {\n" + + " msg1\n" + + "};"; + Object result = executeScript(body); + + String expected = "[{temperature=22.4, humidity=78, test=42, nested={rssi=130}}]"; + assertEquals(expected, result.toString()); + } + // array public void testCreateSingleValueArray() { diff --git a/src/test/java/org/mvel2/tests/core/TbUtilsExpressionsTest.java b/src/test/java/org/mvel2/tests/core/TbUtilsExpressionsTest.java index 51b9f1c24..9be8e14a0 100644 --- a/src/test/java/org/mvel2/tests/core/TbUtilsExpressionsTest.java +++ b/src/test/java/org/mvel2/tests/core/TbUtilsExpressionsTest.java @@ -93,7 +93,7 @@ public void testStringToBytes_ArgumentTypeIsNotStringLineNotZero_Bad() throws Ex } } - public void testSHexToBytes_InFunction_Ok() throws Exception { + public void testHexToBytes_InFunction_Ok() throws Exception { String scriptBody = "var data = frm();\n" + "function frm(){\n" + " var out = {};\n" +