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" +