Skip to content

Commit 47e49d7

Browse files
committed
karate.sizeOf() should work for bytes #2310
1 parent 6a3f4aa commit 47e49d7

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

karate-core/src/main/java/com/intuit/karate/core/ScenarioBridge.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -862,6 +862,8 @@ public Object sizeOf(Object o) {
862862
return v.<List>getValue().size();
863863
} else if (v.isMap()) {
864864
return v.<Map>getValue().size();
865+
} else if (v.isBytes()) {
866+
return v.<byte[]>getValue().length;
865867
} else {
866868
return -1;
867869
}

karate-core/src/test/java/com/intuit/karate/core/ScenarioRuntimeTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,15 @@ void testDefAndMatchForArrays() {
8585
);
8686
assertEquals(5, get("arrSize"));
8787
}
88+
89+
@Test
90+
void testSizeOfForByteArrays() {
91+
run(
92+
"bytes data = 'foo'",
93+
"def arrSize = karate.sizeOf(data)"
94+
);
95+
assertEquals(3, get("arrSize"));
96+
}
8897

8998
@Test
9099
void testConfigAndEnv() {

0 commit comments

Comments
 (0)