|
1 | 1 | package com.fasterxml.jackson.core.json;
|
2 | 2 |
|
3 | 3 | import com.fasterxml.jackson.core.*;
|
| 4 | +import com.fasterxml.jackson.core.util.JsonParserDelegate; |
4 | 5 |
|
5 | 6 | import java.io.*;
|
6 | 7 | import java.net.URL;
|
@@ -510,7 +511,65 @@ private void _testHandlingOfInvalidSpaceFromResource(boolean useStream) throws E
|
510 | 511 | }
|
511 | 512 | jp.close();
|
512 | 513 | }
|
| 514 | + |
| 515 | + public void testGetValueAsTextBytes() throws Exception |
| 516 | + { |
| 517 | + JsonFactory f = new JsonFactory(); |
| 518 | + _testGetValueAsText(f, true, false); |
| 519 | + _testGetValueAsText(f, true, true); |
| 520 | + } |
| 521 | + |
| 522 | + public void testGetValueAsTextChars() throws Exception |
| 523 | + { |
| 524 | + JsonFactory f = new JsonFactory(); |
| 525 | + _testGetValueAsText(f, false, false); |
| 526 | + _testGetValueAsText(f, false, true); |
| 527 | + } |
513 | 528 |
|
| 529 | + @SuppressWarnings("resource") |
| 530 | + private void _testGetValueAsText(JsonFactory f, |
| 531 | + boolean useBytes, boolean delegate) throws Exception |
| 532 | + { |
| 533 | + String JSON = "{\"a\":1,\"b\":true,\"c\":null,\"d\":\"foo\"}"; |
| 534 | + JsonParser p = useBytes ? f.createParser(JSON.getBytes("UTF-8")) |
| 535 | + : f.createParser(JSON); |
| 536 | + |
| 537 | + if (delegate) { |
| 538 | + p = new JsonParserDelegate(p); |
| 539 | + } |
| 540 | + |
| 541 | + assertToken(JsonToken.START_OBJECT, p.nextToken()); |
| 542 | + assertNull(p.getValueAsString()); |
| 543 | + |
| 544 | + assertToken(JsonToken.FIELD_NAME, p.nextToken()); |
| 545 | + assertEquals("a", p.getText()); |
| 546 | + assertEquals("a", p.getValueAsString()); |
| 547 | + assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken()); |
| 548 | + assertEquals("1", p.getValueAsString()); |
| 549 | + |
| 550 | + assertToken(JsonToken.FIELD_NAME, p.nextToken()); |
| 551 | + assertEquals("b", p.getValueAsString()); |
| 552 | + assertToken(JsonToken.VALUE_TRUE, p.nextToken()); |
| 553 | + assertEquals("true", p.getValueAsString()); |
| 554 | + |
| 555 | + assertToken(JsonToken.FIELD_NAME, p.nextToken()); |
| 556 | + assertEquals("c", p.getValueAsString()); |
| 557 | + assertToken(JsonToken.VALUE_NULL, p.nextToken()); |
| 558 | + // null token returned as Java null, as per javadoc |
| 559 | + assertNull(p.getValueAsString()); |
| 560 | + |
| 561 | + assertToken(JsonToken.FIELD_NAME, p.nextToken()); |
| 562 | + assertEquals("d", p.getValueAsString()); |
| 563 | + assertToken(JsonToken.VALUE_STRING, p.nextToken()); |
| 564 | + assertEquals("foo", p.getValueAsString()); |
| 565 | + |
| 566 | + assertToken(JsonToken.END_OBJECT, p.nextToken()); |
| 567 | + assertNull(p.getValueAsString()); |
| 568 | + |
| 569 | + assertNull(p.nextToken()); |
| 570 | + p.close(); |
| 571 | + } |
| 572 | + |
514 | 573 | /*
|
515 | 574 | /**********************************************************
|
516 | 575 | /* Helper methods
|
|
0 commit comments