Subroutine Coverage 
| blib/lib/Thrift/JSONProtocol.pm | 
|  | 
| Criterion | Covered | Total | % | 
| subroutine | 58 | 111 | 52.2 | 
| pod | 1 | 68 | 1.4 | 
| line | count | pod | subroutine | 
| 19 | 1 | n/a | BEGIN | 
| 20 | 1 | n/a | BEGIN | 
| 21 | 1 | n/a | BEGIN | 
| 22 | 1 | n/a | BEGIN | 
| 23 | 1 | n/a | BEGIN | 
| 25 | 1 | n/a | BEGIN | 
| 26 | 1 | n/a | BEGIN | 
| 27 | 1 | n/a | BEGIN | 
| 30 | 43 | No | transport | 
| 67 | 1 | n/a | BEGIN | 
| 88 | 1 | Yes | new | 
| 105 | 2 | No | getTypeNameForTypeID | 
| 114 | 0 | No | getTypeIDForTypeName | 
| 141 | 8 | No | check_utf8 | 
| 157 | 4 | No | pushContext | 
| 164 | 4 | No | popContext | 
| 172 | 0 | No | readJSONSyntaxChar | 
| 182 | 34 | No | write | 
| 193 | 3 | No | writeJSONString | 
| 236 | 0 | No | readJSONString | 
| 280 | 7 | No | writeJSONInteger | 
| 295 | 0 | No | isJSONNumeric | 
| 302 | 0 | No | readJSONNumericChars | 
| 326 | 0 | No | readJSONInteger | 
| 343 | 0 | No | writeJSONDouble | 
| 360 | 0 | No | readJSONDouble | 
| 390 | 0 | No | writeJSONBase64 | 
| 396 | 0 | No | readJSONBase64 | 
| 405 | 3 | No | writeJSONObjectStart | 
| 416 | 0 | No | readJSONObjectStart | 
| 427 | 3 | No | writeJSONObjectEnd | 
| 433 | 0 | No | readJSONObjectEnd | 
| 439 | 1 | No | writeJSONArrayStart | 
| 450 | 0 | No | readJSONArrayStart | 
| 461 | 1 | No | writeJSONArrayEnd | 
| 467 | 0 | No | readJSONArrayEnd | 
| 477 | 1 | No | writeMessageBegin | 
| 491 | 0 | No | readMessageBegin | 
| 510 | 1 | No | writeMessageEnd | 
| 515 | 0 | No | readMessageEnd | 
| 520 | 1 | No | writeStructBegin | 
| 525 | 0 | No | readStructBegin | 
| 530 | 1 | No | writeStructEnd | 
| 535 | 0 | No | readStructEnd | 
| 540 | 2 | No | writeFieldBegin | 
| 549 | 0 | No | readFieldBegin | 
| 567 | 2 | No | writeFieldEnd | 
| 572 | 0 | No | readFieldEnd | 
| 576 | 1 | No | writeFieldStop | 
| 579 | 0 | No | writeMapBegin | 
| 590 | 0 | No | readMapBegin | 
| 606 | 0 | No | writeMapEnd | 
| 611 | 0 | No | readMapEnd | 
| 616 | 0 | No | writeListBegin | 
| 625 | 0 | No | readListBegin | 
| 639 | 0 | No | writeListEnd | 
| 644 | 0 | No | readListEnd | 
| 649 | 0 | No | writeSetBegin | 
| 654 | 0 | No | readSetBegin | 
| 659 | 0 | No | writeSetEnd | 
| 664 | 0 | No | readSetEnd | 
| 669 | 0 | No | writeBool | 
| 674 | 0 | No | readBool | 
| 681 | 0 | No | writeByte | 
| 686 | 0 | No | readByte | 
| 693 | 0 | No | writeI16 | 
| 698 | 0 | No | readI16 | 
| 703 | 2 | No | writeI32 | 
| 708 | 0 | No | readI32 | 
| 713 | 0 | No | writeI64 | 
| 718 | 0 | No | readI64 | 
| 723 | 0 | No | writeDouble | 
| 728 | 0 | No | readDouble | 
| 733 | 0 | No | writeString | 
| 739 | 0 | No | readString | 
| 744 | 0 | No | writeBinary | 
| 749 | 0 | No | readBinary | 
| 759 | 1 | n/a | BEGIN | 
| 760 | 1 | n/a | BEGIN | 
| 761 | 1 | n/a | BEGIN | 
| 764 | 0 | n/a | getProtocol | 
| 775 | 1 | n/a | BEGIN | 
| 776 | 1 | n/a | BEGIN | 
| 777 | 1 | n/a | BEGIN | 
| 779 | 1 | n/a | BEGIN | 
| 783 | 5 | n/a | new | 
| 787 | 1 | n/a | write | 
| 788 | 0 | n/a | read | 
| 789 | 3 | n/a | escapeNum | 
| 797 | 1 | n/a | BEGIN | 
| 798 | 1 | n/a | BEGIN | 
| 799 | 1 | n/a | BEGIN | 
| 801 | 1 | n/a | BEGIN | 
| 805 | 1 | n/a | new | 
| 812 | 5 | n/a | write | 
| 824 | 0 | n/a | read | 
| 843 | 1 | n/a | BEGIN | 
| 844 | 1 | n/a | BEGIN | 
| 845 | 1 | n/a | BEGIN | 
| 847 | 1 | n/a | BEGIN | 
| 851 | 3 | n/a | new | 
| 859 | 8 | n/a | write | 
| 875 | 0 | n/a | read | 
| 891 | 4 | n/a | escapeNum | 
| 900 | 1 | n/a | BEGIN | 
| 901 | 1 | n/a | BEGIN | 
| 902 | 1 | n/a | BEGIN | 
| 904 | 1 | n/a | BEGIN | 
| 908 | 1 | n/a | new | 
| 915 | 0 | n/a | read | 
| 928 | 0 | n/a | peek |