32
32
import com .google .firestore .v1 .Value ;
33
33
import java .io .ByteArrayInputStream ;
34
34
import java .io .IOException ;
35
- import java .nio .charset .StandardCharsets ;
35
+ import java .nio .charset .Charset ;
36
36
import java .util .ArrayList ;
37
37
import java .util .Collections ;
38
38
import java .util .List ;
@@ -121,6 +121,7 @@ public class BundleReaderTest {
121
121
30004002L ,
122
122
ObjectValue .fromMap (
123
123
map ("unicodeValue" , Value .newBuilder ().setStringValue ("\uD83D \uDE0A " ).build ()))));
124
+ private static final Charset UTF8_CHARSET = Charset .forName ("UTF-8" );
124
125
125
126
@ Test
126
127
public void testReadsQueryAndDocument () throws IOException , JSONException {
@@ -133,8 +134,7 @@ public void testReadsQueryAndDocument() throws IOException, JSONException {
133
134
bundleBuilder .build ("bundle-1" , /* createTimeMicros= */ 6000000L , /* version= */ 1 );
134
135
135
136
BundleReader bundleReader =
136
- new BundleReader (
137
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
137
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
138
138
139
139
List <BundleElement > bundleElements =
140
140
verifyAllElements (bundleReader , limitQuery , limitToLastQuery , documentMetadata , document );
@@ -157,8 +157,7 @@ public void testReadsQueryAndDocumentWithUnexpectedOrder() throws IOException, J
157
157
bundleBuilder .build ("bundle-1" , /* createTimeMicros= */ 6000000L , /* version= */ 1 );
158
158
159
159
BundleReader bundleReader =
160
- new BundleReader (
161
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
160
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
162
161
163
162
List <BundleElement > bundleElements =
164
163
verifyAllElements (bundleReader , doc1Metadata , doc1 , limitQuery , doc2Metadata , doc2 );
@@ -179,8 +178,7 @@ public void testReadsWithoutNamedQuery() throws IOException, JSONException {
179
178
bundleBuilder .build ("bundle-1" , /* createTimeMicros= */ 6000000L , /* version= */ 1 );
180
179
181
180
BundleReader bundleReader =
182
- new BundleReader (
183
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
181
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
184
182
185
183
List <BundleElement > bundleElements =
186
184
verifyAllElements (bundleReader , documentMetadata , document );
@@ -199,8 +197,7 @@ public void testReadsWithDeletedDocument() throws IOException, JSONException {
199
197
bundleBuilder .build ("bundle-1" , /* createTimeMicros= */ 6000000L , /* version= */ 1 );
200
198
201
199
BundleReader bundleReader =
202
- new BundleReader (
203
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
200
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
204
201
205
202
List <BundleElement > bundleElements =
206
203
verifyAllElements (bundleReader , deletedDocumentMetadata , documentMetadata , document );
@@ -217,8 +214,7 @@ public void testReadsWithoutDocumentOrQuery() throws IOException, JSONException
217
214
bundleBuilder .build ("bundle-1" , /* createTimeMicros= */ 6000000L , /* version= */ 1 );
218
215
219
216
BundleReader bundleReader =
220
- new BundleReader (
221
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
217
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
222
218
223
219
verifyAllElements (bundleReader );
224
220
}
@@ -228,8 +224,7 @@ public void testThrowsWithoutLengthPrefix() throws IOException, JSONException {
228
224
String bundle = "{metadata: 'no length prefix' }" ;
229
225
230
226
BundleReader bundleReader =
231
- new BundleReader (
232
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
227
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
233
228
234
229
bundleReader .getBundleMetadata ();
235
230
}
@@ -239,8 +234,7 @@ public void testThrowsWithMissingBrackets() throws IOException, JSONException {
239
234
String bundle = "3abc" ;
240
235
241
236
BundleReader bundleReader =
242
- new BundleReader (
243
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
237
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
244
238
bundleReader .getBundleMetadata ();
245
239
}
246
240
@@ -249,8 +243,7 @@ public void testThrowsWithInvalidJSON() throws IOException, JSONException {
249
243
String bundle = "3{abc}" ;
250
244
251
245
BundleReader bundleReader =
252
- new BundleReader (
253
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
246
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
254
247
bundleReader .getBundleMetadata ();
255
248
}
256
249
@@ -261,8 +254,7 @@ public void testThrowsWhenSecondElementIsMissing() throws IOException, JSONExcep
261
254
bundleBuilder .build ("bundle-1" , /* createTimeMicros= */ 6000000L , /* version= */ 1 ) + "foo" ;
262
255
263
256
BundleReader bundleReader =
264
- new BundleReader (
265
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
257
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
266
258
bundleReader .getNextElement ();
267
259
}
268
260
@@ -271,8 +263,7 @@ public void testThrowsWhenBundleDoesNotContainEnoughData() throws IOException, J
271
263
String bundle = "3{}" ;
272
264
273
265
BundleReader bundleReader =
274
- new BundleReader (
275
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
266
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
276
267
bundleReader .getBundleMetadata ();
277
268
}
278
269
@@ -290,8 +281,7 @@ public void testWhenFirstElementIsNotBundleMetadata() throws IOException, JSONEx
290
281
String bundle = json .length () + json ;
291
282
292
283
BundleReader bundleReader =
293
- new BundleReader (
294
- SERIALIZER , new ByteArrayInputStream (bundle .getBytes (StandardCharsets .UTF_8 )));
284
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (bundle .getBytes (UTF8_CHARSET )));
295
285
296
286
bundleReader .getBundleMetadata ();
297
287
}
@@ -309,8 +299,7 @@ public void testCombinesMultipleBufferReads() throws IOException, JSONException
309
299
"bundle-" + longString , /* createTimeMicros= */ 6000000L , /* version= */ 1 );
310
300
311
301
BundleReader bundleReader =
312
- new BundleReader (
313
- SERIALIZER , new ByteArrayInputStream (json .getBytes (StandardCharsets .UTF_8 )));
302
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (json .getBytes (UTF8_CHARSET )));
314
303
315
304
BundleMetadata expectedMetadata =
316
305
new BundleMetadata ("bundle-" + longString , 1 , version (6000000L ), 0 , 0 );
@@ -327,8 +316,7 @@ public void testReadsUnicodeData() throws IOException, JSONException {
327
316
bundleBuilder .build ("bundle-1" , /* createTimeMicros= */ 6000000L , /* version= */ 1 );
328
317
329
318
BundleReader bundleReader =
330
- new BundleReader (
331
- SERIALIZER , new ByteArrayInputStream (json .getBytes (StandardCharsets .UTF_8 )));
319
+ new BundleReader (SERIALIZER , new ByteArrayInputStream (json .getBytes (UTF8_CHARSET )));
332
320
333
321
List <BundleElement > bundleElements = verifyAllElements (bundleReader , docMetadata , doc );
334
322
@@ -432,7 +420,7 @@ private List<BundleElement> verifyAllElements(
432
420
}
433
421
elements .add (nextElement );
434
422
435
- int elementLength = expectedElement .getBytes (StandardCharsets . UTF_8 ).length ;
423
+ int elementLength = expectedElement .getBytes (UTF8_CHARSET ).length ;
436
424
actualBytesRead += (int ) (Math .log10 (elementLength ) + 1 ) + elementLength ;
437
425
assertEquals (actualBytesRead , bundleReader .getBytesRead ());
438
426
}
@@ -531,7 +519,7 @@ private int getUTF8BytesCountWithPrefix(String json) {
531
519
}
532
520
533
521
private int getUTF8BytesCount (String json ) {
534
- return json .getBytes (StandardCharsets . UTF_8 ).length ;
522
+ return json .getBytes (UTF8_CHARSET ).length ;
535
523
}
536
524
537
525
String getMetadataElement (String id , long createTimeMicros , int version ) {
0 commit comments