Skip to content

Commit 13408c6

Browse files
---
yaml --- r: 10181 b: refs/heads/mrschmidt-arrayuniontests c: 98e5ed4 h: refs/heads/master i: 10179: aab2bf9
1 parent 622a97a commit 13408c6

3 files changed

Lines changed: 13 additions & 5 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,4 @@ refs/heads/autosynth-videointelligence: 955e9dcf213b4ac806177f552cf3590d0d14f657
127127
refs/heads/dupes: 3478c5d81fd242d0e985656645a679420a2060c2
128128
refs/heads/elharo-patch-4: 83538c7aa8a40cba7dd996ade653072cc67b3b65
129129
refs/heads/grpc: da780702593d72aa71d0223b3fa11add95062a0b
130-
refs/heads/mrschmidt-arrayuniontests: e8cff3f90645c38723d08a8fecfacb8635fe64ea
130+
refs/heads/mrschmidt-arrayuniontests: 98e5ed4411344fa5e3735e59b1d6a4da7333f241

branches/mrschmidt-arrayuniontests/google-cloud-clients/google-cloud-firestore/src/test/java/com/google/cloud/firestore/ConformanceTest.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,11 +331,19 @@ public int compare(QueryDocumentSnapshot o1, QueryDocumentSnapshot o2) {
331331
}
332332

333333
/** Helper function to convert test values in a list to Firestore API types. */
334-
private List<Object> convertArray(List<Object> list) {
335-
for (int i = 0; i < list.size(); ++i) {
336-
list.set(i, convertValue(list.get(i)));
334+
private Object convertArray(List<Object> list) {
335+
if (!list.isEmpty() && list.get(0).equals("ArrayUnion")) {
336+
return FieldValue.arrayUnion(
337+
((List<Object>) convertArray(list.subList(1, list.size()))).toArray());
338+
} else if (!list.isEmpty() && list.get(0).equals("ArrayRemove")) {
339+
return FieldValue.arrayRemove(
340+
((List<Object>) convertArray(list.subList(1, list.size()))).toArray());
341+
} else {
342+
for (int i = 0; i < list.size(); ++i) {
343+
list.set(i, convertValue(list.get(i)));
344+
}
345+
return list;
337346
}
338-
return list;
339347
}
340348

341349
/** Reads the test definition from the Proto file. */

0 commit comments

Comments
 (0)