Merge branch 'rc' of github.com:thingsboard/thingsboard into rc

This commit is contained in:
Igor Kulikov 2024-12-31 10:23:40 +02:00
commit dfbc8f1cde

View File

@ -1697,6 +1697,62 @@ class TbelInvokeDocsIoTest extends AbstractTbelInvokeTest {
assertEquals(4.2d, actual);
}
// Bitwise Operations
@Test
public void bitwiseOperationsBoolean_Test() throws ExecutionException, InterruptedException {
msgStr = "{}";
decoderStr = """
var x = true;
var y = false;
return {
"andResult": x & y,
"orResult": x | y,
"xorResult": x ^ y,
"leftShift": x << y,
"rightShift": x >> y,
"rightUnShift": x >>> y
}
""";
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
expected.put("andResult", 0);
expected.put("orResult", 1);
expected.put("xorResult", 1);
expected.put("leftShift", 1);
expected.put("rightShift", 1);
expected.put("rightUnShift", 1);
Object actual = invokeScript(evalScript(decoderStr), msgStr);
assertEquals(expected, actual);
}
@Test
public void bitwiseOperationsMix_Test() throws ExecutionException, InterruptedException {
msgStr = "{}";
decoderStr = """
var x = true;
var y = false;
var i = 10;
var b = -14;
var l = 9223372036854775807;
return {
"andResult": x & b,
"orResult": i | y,
"xorResult": i ^ l,
"leftShift": l << i,
"rightShift": l >> b,
"rightUnShift": i >>> x
}
""";
LinkedHashMap<String, Object> expected = new LinkedHashMap<>();
expected.put("andResult", 0);
expected.put("orResult", 10);
expected.put("xorResult", 9223372036854775797L);
expected.put("leftShift", -1024L);
expected.put("rightShift", 8191L);
expected.put("rightUnShift", 5);
Object actual = invokeScript(evalScript(decoderStr), msgStr);
assertEquals(expected, actual);
}
// base64
@Test
public void base64_Test() throws ExecutionException, InterruptedException {