rack-auth-ip 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +2 -2
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html +989 -989
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-drb-drb_rb.html +1764 -1764
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-drb-eq_rb.html +17 -17
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-drb-invokemethod_rb.html +37 -37
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-forwardable_rb.html +219 -219
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-ipaddr_rb.html +530 -530
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-pp_rb.html +648 -648
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-prettyprint_rb.html +897 -897
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-timeout_rb.html +106 -106
- data/doc/output/coverage/index.html +11 -65
- data/doc/output/coverage/lib-rack-auth-ip_rb.html +51 -53
- data/lib/rack/auth/ip.rb +1 -1
- metadata +2 -4
- data/doc/output/coverage/-Library-Ruby-Gems-gems-rack-0_3_0-lib-rack-auth-abstract-handler_rb.html +0 -638
- data/doc/output/coverage/-Library-Ruby-Gems-gems-rack-0_3_0-lib-rack-auth-abstract-request_rb.html +0 -647
@@ -553,7 +553,7 @@ span.run100 {
|
|
553
553
|
</style>
|
554
554
|
</head>
|
555
555
|
<body><h3>C0 code coverage information</h3>
|
556
|
-
<p>Generated on Sat May 24
|
556
|
+
<p>Generated on Sat May 24 15:19:19 +0900 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
|
557
557
|
</p>
|
558
558
|
<hr/>
|
559
559
|
<pre><span class='marked0'>Code reported as executed by Ruby looks like this...
|
@@ -598,902 +598,902 @@ span.run100 {
|
|
598
598
|
</tr>
|
599
599
|
</tbody>
|
600
600
|
</table>
|
601
|
-
<pre><span class="
|
602
|
-
</span><span class="
|
603
|
-
</span><span class="
|
604
|
-
</span><span class="
|
605
|
-
</span><span class="
|
606
|
-
</span><span class="
|
607
|
-
</span><span class="
|
608
|
-
</span><span class="
|
609
|
-
</span><span class="
|
610
|
-
</span><span class="
|
611
|
-
</span><span class="
|
612
|
-
</span><span class="
|
613
|
-
</span><span class="
|
614
|
-
</span><span class="
|
615
|
-
</span><span class="
|
616
|
-
</span><span class="
|
617
|
-
</span><span class="
|
618
|
-
</span><span class="
|
619
|
-
</span><span class="
|
620
|
-
</span><span class="
|
621
|
-
</span><span class="
|
622
|
-
</span><span class="
|
623
|
-
</span><span class="
|
624
|
-
</span><span class="
|
625
|
-
</span><span class="
|
626
|
-
</span><span class="
|
627
|
-
</span><span class="
|
628
|
-
</span><span class="
|
629
|
-
</span><span class="
|
630
|
-
</span><span class="
|
631
|
-
</span><span class="
|
632
|
-
</span><span class="
|
633
|
-
</span><span class="
|
634
|
-
</span><span class="
|
635
|
-
</span><span class="
|
636
|
-
</span><span class="
|
637
|
-
</span><span class="
|
638
|
-
</span><span class="
|
639
|
-
</span><span class="
|
640
|
-
</span><span class="
|
641
|
-
</span><span class="
|
642
|
-
</span><span class="
|
643
|
-
</span><span class="
|
644
|
-
</span><span class="
|
645
|
-
</span><span class="
|
646
|
-
</span><span class="
|
647
|
-
</span><span class="
|
648
|
-
</span><span class="
|
649
|
-
</span><span class="
|
650
|
-
</span><span class="
|
651
|
-
</span><span class="
|
652
|
-
</span><span class="
|
653
|
-
</span><span class="
|
654
|
-
</span><span class="
|
655
|
-
</span><span class="
|
656
|
-
</span><span class="
|
657
|
-
</span><span class="
|
658
|
-
</span><span class="
|
659
|
-
</span><span class="
|
660
|
-
</span><span class="
|
661
|
-
</span><span class="
|
662
|
-
</span><span class="
|
663
|
-
</span><span class="
|
664
|
-
</span><span class="
|
665
|
-
</span><span class="
|
666
|
-
</span><span class="
|
667
|
-
</span><span class="
|
668
|
-
</span><span class="
|
669
|
-
</span><span class="
|
670
|
-
</span><span class="
|
671
|
-
</span><span class="
|
672
|
-
</span><span class="
|
673
|
-
</span><span class="
|
674
|
-
</span><span class="
|
675
|
-
</span><span class="
|
676
|
-
</span><span class="
|
677
|
-
</span><span class="
|
678
|
-
</span><span class="
|
679
|
-
</span><span class="
|
680
|
-
</span><span class="
|
681
|
-
</span><span class="
|
682
|
-
</span><span class="
|
683
|
-
</span><span class="
|
684
|
-
</span><span class="
|
685
|
-
</span><span class="
|
686
|
-
</span><span class="
|
687
|
-
</span><span class="
|
688
|
-
</span><span class="
|
689
|
-
</span><span class="
|
690
|
-
</span><span class="
|
691
|
-
</span><span class="
|
692
|
-
</span><span class="
|
693
|
-
</span><span class="
|
694
|
-
</span><span class="
|
695
|
-
</span><span class="
|
696
|
-
</span><span class="
|
697
|
-
</span><span class="
|
698
|
-
</span><span class="
|
699
|
-
</span><span class="
|
700
|
-
</span><span class="
|
701
|
-
</span><span class="
|
702
|
-
</span><span class="
|
703
|
-
</span><span class="
|
704
|
-
</span><span class="
|
705
|
-
</span><span class="
|
706
|
-
</span><span class="
|
707
|
-
</span><span class="
|
708
|
-
</span><span class="
|
709
|
-
</span><span class="
|
710
|
-
</span><span class="
|
711
|
-
</span><span class="
|
712
|
-
</span><span class="
|
713
|
-
</span><span class="
|
714
|
-
</span><span class="
|
715
|
-
</span><span class="
|
716
|
-
</span><span class="
|
717
|
-
</span><span class="
|
718
|
-
</span><span class="
|
719
|
-
</span><span class="
|
720
|
-
</span><span class="
|
721
|
-
</span><span class="
|
722
|
-
</span><span class="
|
723
|
-
</span><span class="
|
724
|
-
</span><span class="
|
725
|
-
</span><span class="
|
726
|
-
</span><span class="
|
727
|
-
</span><span class="
|
728
|
-
</span><span class="
|
729
|
-
</span><span class="
|
730
|
-
</span><span class="
|
731
|
-
</span><span class="
|
732
|
-
</span><span class="
|
733
|
-
</span><span class="
|
734
|
-
</span><span class="
|
735
|
-
</span><span class="
|
736
|
-
</span><span class="
|
737
|
-
</span><span class="
|
738
|
-
</span><span class="
|
739
|
-
</span><span class="
|
740
|
-
</span><span class="
|
741
|
-
</span><span class="
|
742
|
-
</span><span class="
|
743
|
-
</span><span class="
|
744
|
-
</span><span class="
|
745
|
-
</span><span class="
|
746
|
-
</span><span class="
|
747
|
-
</span><span class="
|
748
|
-
</span><span class="
|
749
|
-
</span><span class="
|
750
|
-
</span><span class="
|
751
|
-
</span><span class="
|
752
|
-
</span><span class="
|
753
|
-
</span><span class="
|
754
|
-
</span><span class="
|
755
|
-
</span><span class="
|
756
|
-
</span><span class="
|
757
|
-
</span><span class="
|
758
|
-
</span><span class="
|
759
|
-
</span><span class="
|
760
|
-
</span><span class="
|
761
|
-
</span><span class="
|
762
|
-
</span><span class="
|
763
|
-
</span><span class="
|
764
|
-
</span><span class="
|
765
|
-
</span><span class="
|
766
|
-
</span><span class="
|
767
|
-
</span><span class="
|
768
|
-
</span><span class="
|
769
|
-
</span><span class="
|
770
|
-
</span><span class="
|
771
|
-
</span><span class="
|
772
|
-
</span><span class="
|
773
|
-
</span><span class="
|
774
|
-
</span><span class="
|
775
|
-
</span><span class="
|
776
|
-
</span><span class="
|
777
|
-
</span><span class="
|
778
|
-
</span><span class="
|
779
|
-
</span><span class="
|
780
|
-
</span><span class="
|
781
|
-
</span><span class="
|
782
|
-
</span><span class="
|
783
|
-
</span><span class="
|
784
|
-
</span><span class="
|
785
|
-
</span><span class="
|
786
|
-
</span><span class="
|
787
|
-
</span><span class="
|
788
|
-
</span><span class="
|
789
|
-
</span><span class="
|
790
|
-
</span><span class="
|
791
|
-
</span><span class="
|
792
|
-
</span><span class="
|
793
|
-
</span><span class="
|
794
|
-
</span><span class="
|
795
|
-
</span><span class="
|
796
|
-
</span><span class="
|
797
|
-
</span><span class="
|
798
|
-
</span><span class="
|
799
|
-
</span><span class="
|
800
|
-
</span><span class="
|
801
|
-
</span><span class="
|
802
|
-
</span><span class="
|
803
|
-
</span><span class="
|
804
|
-
</span><span class="
|
805
|
-
</span><span class="
|
806
|
-
</span><span class="
|
807
|
-
</span><span class="
|
808
|
-
</span><span class="
|
809
|
-
</span><span class="
|
810
|
-
</span><span class="
|
811
|
-
</span><span class="
|
812
|
-
</span><span class="
|
813
|
-
</span><span class="
|
814
|
-
</span><span class="
|
815
|
-
</span><span class="
|
816
|
-
</span><span class="
|
817
|
-
</span><span class="
|
818
|
-
</span><span class="
|
819
|
-
</span><span class="
|
820
|
-
</span><span class="
|
821
|
-
</span><span class="
|
822
|
-
</span><span class="
|
823
|
-
</span><span class="
|
824
|
-
</span><span class="
|
825
|
-
</span><span class="
|
826
|
-
</span><span class="
|
827
|
-
</span><span class="
|
828
|
-
</span><span class="
|
829
|
-
</span><span class="
|
830
|
-
</span><span class="
|
831
|
-
</span><span class="
|
832
|
-
</span><span class="
|
833
|
-
</span><span class="
|
834
|
-
</span><span class="
|
835
|
-
</span><span class="
|
836
|
-
</span><span class="
|
837
|
-
</span><span class="
|
838
|
-
</span><span class="
|
839
|
-
</span><span class="
|
840
|
-
</span><span class="
|
841
|
-
</span><span class="
|
842
|
-
</span><span class="
|
843
|
-
</span><span class="
|
844
|
-
</span><span class="
|
845
|
-
</span><span class="
|
846
|
-
</span><span class="
|
847
|
-
</span><span class="
|
848
|
-
</span><span class="
|
849
|
-
</span><span class="
|
850
|
-
</span><span class="
|
851
|
-
</span><span class="
|
852
|
-
</span><span class="
|
853
|
-
</span><span class="
|
854
|
-
</span><span class="
|
855
|
-
</span><span class="
|
856
|
-
</span><span class="
|
857
|
-
</span><span class="
|
858
|
-
</span><span class="
|
859
|
-
</span><span class="
|
860
|
-
</span><span class="
|
861
|
-
</span><span class="
|
862
|
-
</span><span class="
|
863
|
-
</span><span class="
|
864
|
-
</span><span class="
|
865
|
-
</span><span class="
|
866
|
-
</span><span class="
|
867
|
-
</span><span class="
|
868
|
-
</span><span class="
|
869
|
-
</span><span class="
|
870
|
-
</span><span class="
|
871
|
-
</span><span class="
|
872
|
-
</span><span class="
|
873
|
-
</span><span class="
|
874
|
-
</span><span class="
|
875
|
-
</span><span class="
|
876
|
-
</span><span class="
|
877
|
-
</span><span class="
|
878
|
-
</span><span class="
|
879
|
-
</span><span class="
|
880
|
-
</span><span class="
|
881
|
-
</span><span class="
|
882
|
-
</span><span class="
|
883
|
-
</span><span class="
|
884
|
-
</span><span class="
|
885
|
-
</span><span class="
|
886
|
-
</span><span class="
|
887
|
-
</span><span class="
|
888
|
-
</span><span class="
|
889
|
-
</span><span class="
|
890
|
-
</span><span class="
|
891
|
-
</span><span class="
|
892
|
-
</span><span class="
|
893
|
-
</span><span class="
|
894
|
-
</span><span class="
|
895
|
-
</span><span class="
|
896
|
-
</span><span class="
|
897
|
-
</span><span class="
|
898
|
-
</span><span class="
|
899
|
-
</span><span class="
|
900
|
-
</span><span class="
|
901
|
-
</span><span class="
|
902
|
-
</span><span class="
|
903
|
-
</span><span class="
|
904
|
-
</span><span class="
|
905
|
-
</span><span class="
|
906
|
-
</span><span class="
|
907
|
-
</span><span class="
|
908
|
-
</span><span class="
|
909
|
-
</span><span class="
|
910
|
-
</span><span class="
|
911
|
-
</span><span class="
|
912
|
-
</span><span class="
|
913
|
-
</span><span class="
|
914
|
-
</span><span class="
|
915
|
-
</span><span class="
|
916
|
-
</span><span class="
|
917
|
-
</span><span class="
|
918
|
-
</span><span class="
|
919
|
-
</span><span class="
|
920
|
-
</span><span class="
|
921
|
-
</span><span class="
|
922
|
-
</span><span class="
|
923
|
-
</span><span class="
|
924
|
-
</span><span class="
|
925
|
-
</span><span class="
|
926
|
-
</span><span class="
|
927
|
-
</span><span class="
|
928
|
-
</span><span class="
|
929
|
-
</span><span class="
|
930
|
-
</span><span class="
|
931
|
-
</span><span class="
|
932
|
-
</span><span class="
|
933
|
-
</span><span class="
|
934
|
-
</span><span class="
|
935
|
-
</span><span class="
|
936
|
-
</span><span class="
|
937
|
-
</span><span class="
|
938
|
-
</span><span class="
|
939
|
-
</span><span class="
|
940
|
-
</span><span class="
|
941
|
-
</span><span class="
|
942
|
-
</span><span class="
|
943
|
-
</span><span class="
|
944
|
-
</span><span class="
|
945
|
-
</span><span class="
|
946
|
-
</span><span class="
|
947
|
-
</span><span class="
|
948
|
-
</span><span class="
|
949
|
-
</span><span class="
|
950
|
-
</span><span class="
|
951
|
-
</span><span class="
|
952
|
-
</span><span class="
|
953
|
-
</span><span class="
|
954
|
-
</span><span class="
|
955
|
-
</span><span class="
|
956
|
-
</span><span class="
|
957
|
-
</span><span class="
|
958
|
-
</span><span class="
|
959
|
-
</span><span class="
|
960
|
-
</span><span class="
|
961
|
-
</span><span class="
|
962
|
-
</span><span class="
|
963
|
-
</span><span class="
|
964
|
-
</span><span class="
|
965
|
-
</span><span class="
|
966
|
-
</span><span class="
|
967
|
-
</span><span class="
|
968
|
-
</span><span class="
|
969
|
-
</span><span class="
|
970
|
-
</span><span class="
|
971
|
-
</span><span class="
|
972
|
-
</span><span class="
|
973
|
-
</span><span class="
|
974
|
-
</span><span class="
|
975
|
-
</span><span class="
|
976
|
-
</span><span class="
|
977
|
-
</span><span class="
|
978
|
-
</span><span class="
|
979
|
-
</span><span class="
|
980
|
-
</span><span class="
|
981
|
-
</span><span class="
|
982
|
-
</span><span class="
|
983
|
-
</span><span class="
|
984
|
-
</span><span class="
|
985
|
-
</span><span class="
|
986
|
-
</span><span class="
|
987
|
-
</span><span class="
|
988
|
-
</span><span class="
|
989
|
-
</span><span class="
|
990
|
-
</span><span class="
|
991
|
-
</span><span class="
|
992
|
-
</span><span class="
|
993
|
-
</span><span class="
|
994
|
-
</span><span class="
|
995
|
-
</span><span class="
|
996
|
-
</span><span class="
|
997
|
-
</span><span class="
|
998
|
-
</span><span class="
|
999
|
-
</span><span class="
|
1000
|
-
</span><span class="
|
1001
|
-
</span><span class="
|
1002
|
-
</span><span class="
|
1003
|
-
</span><span class="
|
1004
|
-
</span><span class="
|
1005
|
-
</span><span class="
|
1006
|
-
</span><span class="
|
1007
|
-
</span><span class="
|
1008
|
-
</span><span class="
|
1009
|
-
</span><span class="
|
1010
|
-
</span><span class="
|
1011
|
-
</span><span class="
|
1012
|
-
</span><span class="
|
1013
|
-
</span><span class="
|
1014
|
-
</span><span class="
|
1015
|
-
</span><span class="
|
1016
|
-
</span><span class="
|
1017
|
-
</span><span class="
|
1018
|
-
</span><span class="
|
1019
|
-
</span><span class="
|
1020
|
-
</span><span class="
|
1021
|
-
</span><span class="
|
1022
|
-
</span><span class="
|
1023
|
-
</span><span class="
|
1024
|
-
</span><span class="
|
1025
|
-
</span><span class="
|
1026
|
-
</span><span class="
|
1027
|
-
</span><span class="
|
1028
|
-
</span><span class="
|
1029
|
-
</span><span class="
|
1030
|
-
</span><span class="
|
1031
|
-
</span><span class="
|
1032
|
-
</span><span class="
|
1033
|
-
</span><span class="
|
1034
|
-
</span><span class="
|
1035
|
-
</span><span class="
|
1036
|
-
</span><span class="
|
1037
|
-
</span><span class="
|
1038
|
-
</span><span class="
|
1039
|
-
</span><span class="
|
1040
|
-
</span><span class="
|
1041
|
-
</span><span class="
|
1042
|
-
</span><span class="
|
1043
|
-
</span><span class="
|
1044
|
-
</span><span class="
|
1045
|
-
</span><span class="
|
1046
|
-
</span><span class="
|
1047
|
-
</span><span class="
|
1048
|
-
</span><span class="
|
1049
|
-
</span><span class="
|
1050
|
-
</span><span class="
|
1051
|
-
</span><span class="
|
1052
|
-
</span><span class="
|
1053
|
-
</span><span class="
|
1054
|
-
</span><span class="
|
1055
|
-
</span><span class="
|
1056
|
-
</span><span class="
|
1057
|
-
</span><span class="
|
1058
|
-
</span><span class="
|
1059
|
-
</span><span class="
|
1060
|
-
</span><span class="
|
1061
|
-
</span><span class="
|
1062
|
-
</span><span class="
|
1063
|
-
</span><span class="
|
1064
|
-
</span><span class="
|
1065
|
-
</span><span class="
|
1066
|
-
</span><span class="
|
1067
|
-
</span><span class="
|
1068
|
-
</span><span class="
|
1069
|
-
</span><span class="
|
1070
|
-
</span><span class="
|
1071
|
-
</span><span class="
|
1072
|
-
</span><span class="
|
1073
|
-
</span><span class="
|
1074
|
-
</span><span class="
|
1075
|
-
</span><span class="
|
1076
|
-
</span><span class="
|
1077
|
-
</span><span class="
|
1078
|
-
</span><span class="
|
1079
|
-
</span><span class="
|
1080
|
-
</span><span class="
|
1081
|
-
</span><span class="
|
1082
|
-
</span><span class="
|
1083
|
-
</span><span class="
|
1084
|
-
</span><span class="
|
1085
|
-
</span><span class="
|
1086
|
-
</span><span class="
|
1087
|
-
</span><span class="
|
1088
|
-
</span><span class="
|
1089
|
-
</span><span class="
|
1090
|
-
</span><span class="
|
1091
|
-
</span><span class="
|
1092
|
-
</span><span class="
|
1093
|
-
</span><span class="
|
1094
|
-
</span><span class="
|
1095
|
-
</span><span class="
|
1096
|
-
</span><span class="
|
1097
|
-
</span><span class="
|
1098
|
-
</span><span class="
|
1099
|
-
</span><span class="
|
1100
|
-
</span><span class="
|
1101
|
-
</span><span class="
|
1102
|
-
</span><span class="
|
1103
|
-
</span><span class="
|
1104
|
-
</span><span class="
|
1105
|
-
</span><span class="
|
1106
|
-
</span><span class="
|
1107
|
-
</span><span class="
|
1108
|
-
</span><span class="
|
1109
|
-
</span><span class="
|
1110
|
-
</span><span class="
|
1111
|
-
</span><span class="
|
1112
|
-
</span><span class="
|
1113
|
-
</span><span class="
|
1114
|
-
</span><span class="
|
1115
|
-
</span><span class="
|
1116
|
-
</span><span class="
|
1117
|
-
</span><span class="
|
1118
|
-
</span><span class="
|
1119
|
-
</span><span class="
|
1120
|
-
</span><span class="
|
1121
|
-
</span><span class="
|
1122
|
-
</span><span class="
|
1123
|
-
</span><span class="
|
1124
|
-
</span><span class="
|
1125
|
-
</span><span class="
|
1126
|
-
</span><span class="
|
1127
|
-
</span><span class="
|
1128
|
-
</span><span class="
|
1129
|
-
</span><span class="
|
1130
|
-
</span><span class="
|
1131
|
-
</span><span class="
|
1132
|
-
</span><span class="
|
1133
|
-
</span><span class="
|
1134
|
-
</span><span class="
|
1135
|
-
</span><span class="
|
1136
|
-
</span><span class="
|
1137
|
-
</span><span class="
|
1138
|
-
</span><span class="
|
1139
|
-
</span><span class="
|
1140
|
-
</span><span class="
|
1141
|
-
</span><span class="
|
1142
|
-
</span><span class="
|
1143
|
-
</span><span class="
|
1144
|
-
</span><span class="
|
1145
|
-
</span><span class="
|
1146
|
-
</span><span class="
|
1147
|
-
</span><span class="
|
1148
|
-
</span><span class="
|
1149
|
-
</span><span class="
|
1150
|
-
</span><span class="
|
1151
|
-
</span><span class="
|
1152
|
-
</span><span class="
|
1153
|
-
</span><span class="
|
1154
|
-
</span><span class="
|
1155
|
-
</span><span class="
|
1156
|
-
</span><span class="
|
1157
|
-
</span><span class="
|
1158
|
-
</span><span class="
|
1159
|
-
</span><span class="
|
1160
|
-
</span><span class="
|
1161
|
-
</span><span class="
|
1162
|
-
</span><span class="
|
1163
|
-
</span><span class="
|
1164
|
-
</span><span class="
|
1165
|
-
</span><span class="
|
1166
|
-
</span><span class="
|
1167
|
-
</span><span class="
|
1168
|
-
</span><span class="
|
1169
|
-
</span><span class="
|
1170
|
-
</span><span class="
|
1171
|
-
</span><span class="
|
1172
|
-
</span><span class="
|
1173
|
-
</span><span class="
|
1174
|
-
</span><span class="
|
1175
|
-
</span><span class="
|
1176
|
-
</span><span class="
|
1177
|
-
</span><span class="
|
1178
|
-
</span><span class="
|
1179
|
-
</span><span class="
|
1180
|
-
</span><span class="
|
1181
|
-
</span><span class="
|
1182
|
-
</span><span class="
|
1183
|
-
</span><span class="
|
1184
|
-
</span><span class="
|
1185
|
-
</span><span class="
|
1186
|
-
</span><span class="
|
1187
|
-
</span><span class="
|
1188
|
-
</span><span class="
|
1189
|
-
</span><span class="
|
1190
|
-
</span><span class="
|
1191
|
-
</span><span class="
|
1192
|
-
</span><span class="
|
1193
|
-
</span><span class="
|
1194
|
-
</span><span class="
|
1195
|
-
</span><span class="
|
1196
|
-
</span><span class="
|
1197
|
-
</span><span class="
|
1198
|
-
</span><span class="
|
1199
|
-
</span><span class="
|
1200
|
-
</span><span class="
|
1201
|
-
</span><span class="
|
1202
|
-
</span><span class="
|
1203
|
-
</span><span class="
|
1204
|
-
</span><span class="
|
1205
|
-
</span><span class="
|
1206
|
-
</span><span class="
|
1207
|
-
</span><span class="
|
1208
|
-
</span><span class="
|
1209
|
-
</span><span class="
|
1210
|
-
</span><span class="
|
1211
|
-
</span><span class="
|
1212
|
-
</span><span class="
|
1213
|
-
</span><span class="
|
1214
|
-
</span><span class="
|
1215
|
-
</span><span class="
|
1216
|
-
</span><span class="
|
1217
|
-
</span><span class="
|
1218
|
-
</span><span class="
|
1219
|
-
</span><span class="
|
1220
|
-
</span><span class="
|
1221
|
-
</span><span class="
|
1222
|
-
</span><span class="
|
1223
|
-
</span><span class="
|
1224
|
-
</span><span class="
|
1225
|
-
</span><span class="
|
1226
|
-
</span><span class="
|
1227
|
-
</span><span class="
|
1228
|
-
</span><span class="
|
1229
|
-
</span><span class="
|
1230
|
-
</span><span class="
|
1231
|
-
</span><span class="
|
1232
|
-
</span><span class="
|
1233
|
-
</span><span class="
|
1234
|
-
</span><span class="
|
1235
|
-
</span><span class="
|
1236
|
-
</span><span class="
|
1237
|
-
</span><span class="
|
1238
|
-
</span><span class="
|
1239
|
-
</span><span class="
|
1240
|
-
</span><span class="
|
1241
|
-
</span><span class="
|
1242
|
-
</span><span class="
|
1243
|
-
</span><span class="
|
1244
|
-
</span><span class="
|
1245
|
-
</span><span class="
|
1246
|
-
</span><span class="
|
1247
|
-
</span><span class="
|
1248
|
-
</span><span class="
|
1249
|
-
</span><span class="
|
1250
|
-
</span><span class="
|
1251
|
-
</span><span class="
|
1252
|
-
</span><span class="
|
1253
|
-
</span><span class="
|
1254
|
-
</span><span class="
|
1255
|
-
</span><span class="
|
1256
|
-
</span><span class="
|
1257
|
-
</span><span class="
|
1258
|
-
</span><span class="
|
1259
|
-
</span><span class="
|
1260
|
-
</span><span class="
|
1261
|
-
</span><span class="
|
1262
|
-
</span><span class="
|
1263
|
-
</span><span class="
|
1264
|
-
</span><span class="
|
1265
|
-
</span><span class="
|
1266
|
-
</span><span class="
|
1267
|
-
</span><span class="
|
1268
|
-
</span><span class="
|
1269
|
-
</span><span class="
|
1270
|
-
</span><span class="
|
1271
|
-
</span><span class="
|
1272
|
-
</span><span class="
|
1273
|
-
</span><span class="
|
1274
|
-
</span><span class="
|
1275
|
-
</span><span class="
|
1276
|
-
</span><span class="
|
1277
|
-
</span><span class="
|
1278
|
-
</span><span class="
|
1279
|
-
</span><span class="
|
1280
|
-
</span><span class="
|
1281
|
-
</span><span class="
|
1282
|
-
</span><span class="
|
1283
|
-
</span><span class="
|
1284
|
-
</span><span class="
|
1285
|
-
</span><span class="
|
1286
|
-
</span><span class="
|
1287
|
-
</span><span class="
|
1288
|
-
</span><span class="
|
1289
|
-
</span><span class="
|
1290
|
-
</span><span class="
|
1291
|
-
</span><span class="
|
1292
|
-
</span><span class="
|
1293
|
-
</span><span class="
|
1294
|
-
</span><span class="
|
1295
|
-
</span><span class="
|
1296
|
-
</span><span class="
|
1297
|
-
</span><span class="
|
1298
|
-
</span><span class="
|
1299
|
-
</span><span class="
|
1300
|
-
</span><span class="
|
1301
|
-
</span><span class="
|
1302
|
-
</span><span class="
|
1303
|
-
</span><span class="
|
1304
|
-
</span><span class="
|
1305
|
-
</span><span class="
|
1306
|
-
</span><span class="
|
1307
|
-
</span><span class="
|
1308
|
-
</span><span class="
|
1309
|
-
</span><span class="
|
1310
|
-
</span><span class="
|
1311
|
-
</span><span class="
|
1312
|
-
</span><span class="
|
1313
|
-
</span><span class="
|
1314
|
-
</span><span class="
|
1315
|
-
</span><span class="
|
1316
|
-
</span><span class="
|
1317
|
-
</span><span class="
|
1318
|
-
</span><span class="
|
1319
|
-
</span><span class="
|
1320
|
-
</span><span class="
|
1321
|
-
</span><span class="
|
1322
|
-
</span><span class="
|
1323
|
-
</span><span class="
|
1324
|
-
</span><span class="
|
1325
|
-
</span><span class="
|
1326
|
-
</span><span class="
|
1327
|
-
</span><span class="
|
1328
|
-
</span><span class="
|
1329
|
-
</span><span class="
|
1330
|
-
</span><span class="
|
1331
|
-
</span><span class="
|
1332
|
-
</span><span class="
|
1333
|
-
</span><span class="
|
1334
|
-
</span><span class="
|
1335
|
-
</span><span class="
|
1336
|
-
</span><span class="
|
1337
|
-
</span><span class="
|
1338
|
-
</span><span class="
|
1339
|
-
</span><span class="
|
1340
|
-
</span><span class="
|
1341
|
-
</span><span class="
|
1342
|
-
</span><span class="
|
1343
|
-
</span><span class="
|
1344
|
-
</span><span class="
|
1345
|
-
</span><span class="
|
1346
|
-
</span><span class="
|
1347
|
-
</span><span class="
|
1348
|
-
</span><span class="
|
1349
|
-
</span><span class="
|
1350
|
-
</span><span class="
|
1351
|
-
</span><span class="
|
1352
|
-
</span><span class="
|
1353
|
-
</span><span class="
|
1354
|
-
</span><span class="
|
1355
|
-
</span><span class="
|
1356
|
-
</span><span class="
|
1357
|
-
</span><span class="
|
1358
|
-
</span><span class="
|
1359
|
-
</span><span class="
|
1360
|
-
</span><span class="
|
1361
|
-
</span><span class="
|
1362
|
-
</span><span class="
|
1363
|
-
</span><span class="
|
1364
|
-
</span><span class="
|
1365
|
-
</span><span class="
|
1366
|
-
</span><span class="
|
1367
|
-
</span><span class="
|
1368
|
-
</span><span class="
|
1369
|
-
</span><span class="
|
1370
|
-
</span><span class="
|
1371
|
-
</span><span class="
|
1372
|
-
</span><span class="
|
1373
|
-
</span><span class="
|
1374
|
-
</span><span class="
|
1375
|
-
</span><span class="
|
1376
|
-
</span><span class="
|
1377
|
-
</span><span class="
|
1378
|
-
</span><span class="
|
1379
|
-
</span><span class="
|
1380
|
-
</span><span class="
|
1381
|
-
</span><span class="
|
1382
|
-
</span><span class="
|
1383
|
-
</span><span class="
|
1384
|
-
</span><span class="
|
1385
|
-
</span><span class="
|
1386
|
-
</span><span class="
|
1387
|
-
</span><span class="
|
1388
|
-
</span><span class="
|
1389
|
-
</span><span class="
|
1390
|
-
</span><span class="
|
1391
|
-
</span><span class="
|
1392
|
-
</span><span class="
|
1393
|
-
</span><span class="
|
1394
|
-
</span><span class="
|
1395
|
-
</span><span class="
|
1396
|
-
</span><span class="
|
1397
|
-
</span><span class="
|
1398
|
-
</span><span class="
|
1399
|
-
</span><span class="
|
1400
|
-
</span><span class="
|
1401
|
-
</span><span class="
|
1402
|
-
</span><span class="
|
1403
|
-
</span><span class="
|
1404
|
-
</span><span class="
|
1405
|
-
</span><span class="
|
1406
|
-
</span><span class="
|
1407
|
-
</span><span class="
|
1408
|
-
</span><span class="
|
1409
|
-
</span><span class="
|
1410
|
-
</span><span class="
|
1411
|
-
</span><span class="
|
1412
|
-
</span><span class="
|
1413
|
-
</span><span class="
|
1414
|
-
</span><span class="
|
1415
|
-
</span><span class="
|
1416
|
-
</span><span class="
|
1417
|
-
</span><span class="
|
1418
|
-
</span><span class="
|
1419
|
-
</span><span class="
|
1420
|
-
</span><span class="
|
1421
|
-
</span><span class="
|
1422
|
-
</span><span class="
|
1423
|
-
</span><span class="
|
1424
|
-
</span><span class="
|
1425
|
-
</span><span class="
|
1426
|
-
</span><span class="
|
1427
|
-
</span><span class="
|
1428
|
-
</span><span class="
|
1429
|
-
</span><span class="
|
1430
|
-
</span><span class="
|
1431
|
-
</span><span class="
|
1432
|
-
</span><span class="
|
1433
|
-
</span><span class="
|
1434
|
-
</span><span class="
|
1435
|
-
</span><span class="
|
1436
|
-
</span><span class="
|
1437
|
-
</span><span class="
|
1438
|
-
</span><span class="
|
1439
|
-
</span><span class="
|
1440
|
-
</span><span class="
|
1441
|
-
</span><span class="
|
1442
|
-
</span><span class="
|
1443
|
-
</span><span class="
|
1444
|
-
</span><span class="
|
1445
|
-
</span><span class="
|
1446
|
-
</span><span class="
|
1447
|
-
</span><span class="
|
1448
|
-
</span><span class="
|
1449
|
-
</span><span class="
|
1450
|
-
</span><span class="
|
1451
|
-
</span><span class="
|
1452
|
-
</span><span class="
|
1453
|
-
</span><span class="
|
1454
|
-
</span><span class="
|
1455
|
-
</span><span class="
|
1456
|
-
</span><span class="
|
1457
|
-
</span><span class="
|
1458
|
-
</span><span class="
|
1459
|
-
</span><span class="
|
1460
|
-
</span><span class="
|
1461
|
-
</span><span class="
|
1462
|
-
</span><span class="
|
1463
|
-
</span><span class="
|
1464
|
-
</span><span class="
|
1465
|
-
</span><span class="
|
1466
|
-
</span><span class="
|
1467
|
-
</span><span class="
|
1468
|
-
</span><span class="
|
1469
|
-
</span><span class="
|
1470
|
-
</span><span class="
|
1471
|
-
</span><span class="
|
1472
|
-
</span><span class="
|
1473
|
-
</span><span class="
|
1474
|
-
</span><span class="
|
1475
|
-
</span><span class="
|
1476
|
-
</span><span class="
|
1477
|
-
</span><span class="
|
1478
|
-
</span><span class="
|
1479
|
-
</span><span class="
|
1480
|
-
</span><span class="
|
1481
|
-
</span><span class="
|
1482
|
-
</span><span class="
|
1483
|
-
</span><span class="
|
1484
|
-
</span><span class="
|
1485
|
-
</span><span class="
|
1486
|
-
</span><span class="
|
1487
|
-
</span><span class="
|
1488
|
-
</span><span class="
|
1489
|
-
</span><span class="
|
1490
|
-
</span><span class="
|
1491
|
-
</span><span class="
|
1492
|
-
</span><span class="
|
1493
|
-
</span><span class="
|
1494
|
-
</span><span class="
|
1495
|
-
</span><span class="
|
1496
|
-
</span><span class="
|
601
|
+
<pre><span class="inferred0"><a name="line1"></a> 1 # $Id$
|
602
|
+
</span><span class="inferred1"><a name="line2"></a> 2
|
603
|
+
</span><span class="inferred0"><a name="line3"></a> 3 # This class implements a pretty printing algorithm. It finds line breaks and
|
604
|
+
</span><span class="inferred1"><a name="line4"></a> 4 # nice indentations for grouped structure.
|
605
|
+
</span><span class="inferred0"><a name="line5"></a> 5 #
|
606
|
+
</span><span class="inferred1"><a name="line6"></a> 6 # By default, the class assumes that primitive elements are strings and each
|
607
|
+
</span><span class="inferred0"><a name="line7"></a> 7 # byte in the strings have single column in width. But it can be used for
|
608
|
+
</span><span class="inferred1"><a name="line8"></a> 8 # other situations by giving suitable arguments for some methods:
|
609
|
+
</span><span class="inferred0"><a name="line9"></a> 9 # * newline object and space generation block for PrettyPrint.new
|
610
|
+
</span><span class="inferred1"><a name="line10"></a> 10 # * optional width argument for PrettyPrint#text
|
611
|
+
</span><span class="inferred0"><a name="line11"></a> 11 # * PrettyPrint#breakable
|
612
|
+
</span><span class="inferred1"><a name="line12"></a> 12 #
|
613
|
+
</span><span class="inferred0"><a name="line13"></a> 13 # There are several candidate uses:
|
614
|
+
</span><span class="inferred1"><a name="line14"></a> 14 # * text formatting using proportional fonts
|
615
|
+
</span><span class="inferred0"><a name="line15"></a> 15 # * multibyte characters which has columns different to number of bytes
|
616
|
+
</span><span class="inferred1"><a name="line16"></a> 16 # * non-string formatting
|
617
|
+
</span><span class="inferred0"><a name="line17"></a> 17 #
|
618
|
+
</span><span class="inferred1"><a name="line18"></a> 18 # == Bugs
|
619
|
+
</span><span class="inferred0"><a name="line19"></a> 19 # * Box based formatting?
|
620
|
+
</span><span class="inferred1"><a name="line20"></a> 20 # * Other (better) model/algorithm?
|
621
|
+
</span><span class="inferred0"><a name="line21"></a> 21 #
|
622
|
+
</span><span class="inferred1"><a name="line22"></a> 22 # == References
|
623
|
+
</span><span class="inferred0"><a name="line23"></a> 23 # Christian Lindig, Strictly Pretty, March 2000,
|
624
|
+
</span><span class="inferred1"><a name="line24"></a> 24 # http://www.st.cs.uni-sb.de/~lindig/papers/#pretty
|
625
|
+
</span><span class="inferred0"><a name="line25"></a> 25 #
|
626
|
+
</span><span class="inferred1"><a name="line26"></a> 26 # Philip Wadler, A prettier printer, March 1998,
|
627
|
+
</span><span class="inferred0"><a name="line27"></a> 27 # http://homepages.inf.ed.ac.uk/wadler/topics/language-design.html#prettier
|
628
|
+
</span><span class="inferred1"><a name="line28"></a> 28 #
|
629
|
+
</span><span class="inferred0"><a name="line29"></a> 29 # == Author
|
630
|
+
</span><span class="inferred1"><a name="line30"></a> 30 # Tanaka Akira <akr@m17n.org>
|
631
|
+
</span><span class="inferred0"><a name="line31"></a> 31 #
|
632
|
+
</span><span class="marked1"><a name="line32"></a> 32 class PrettyPrint
|
633
|
+
</span><span class="inferred0"><a name="line33"></a> 33
|
634
|
+
</span><span class="inferred1"><a name="line34"></a> 34 # This is a convenience method which is same as follows:
|
635
|
+
</span><span class="inferred0"><a name="line35"></a> 35 #
|
636
|
+
</span><span class="inferred1"><a name="line36"></a> 36 # begin
|
637
|
+
</span><span class="inferred0"><a name="line37"></a> 37 # q = PrettyPrint.new(output, maxwidth, newline, &genspace)
|
638
|
+
</span><span class="inferred1"><a name="line38"></a> 38 # ...
|
639
|
+
</span><span class="inferred0"><a name="line39"></a> 39 # q.flush
|
640
|
+
</span><span class="inferred1"><a name="line40"></a> 40 # output
|
641
|
+
</span><span class="inferred0"><a name="line41"></a> 41 # end
|
642
|
+
</span><span class="inferred1"><a name="line42"></a> 42 #
|
643
|
+
</span><span class="marked0"><a name="line43"></a> 43 def PrettyPrint.format(output='', maxwidth=79, newline="\n", genspace=lambda {|n| ' ' * n})
|
644
|
+
</span><span class="uncovered1"><a name="line44"></a> 44 q = PrettyPrint.new(output, maxwidth, newline, &genspace)
|
645
|
+
</span><span class="uncovered0"><a name="line45"></a> 45 yield q
|
646
|
+
</span><span class="uncovered1"><a name="line46"></a> 46 q.flush
|
647
|
+
</span><span class="uncovered0"><a name="line47"></a> 47 output
|
648
|
+
</span><span class="uncovered1"><a name="line48"></a> 48 end
|
649
|
+
</span><span class="inferred0"><a name="line49"></a> 49
|
650
|
+
</span><span class="inferred1"><a name="line50"></a> 50 # This is similar to PrettyPrint::format but the result has no breaks.
|
651
|
+
</span><span class="inferred0"><a name="line51"></a> 51 #
|
652
|
+
</span><span class="inferred1"><a name="line52"></a> 52 # +maxwidth+, +newline+ and +genspace+ are ignored.
|
653
|
+
</span><span class="inferred0"><a name="line53"></a> 53 #
|
654
|
+
</span><span class="inferred1"><a name="line54"></a> 54 # The invocation of +breakable+ in the block doesn't break a line and is
|
655
|
+
</span><span class="inferred0"><a name="line55"></a> 55 # treated as just an invocation of +text+.
|
656
|
+
</span><span class="inferred1"><a name="line56"></a> 56 #
|
657
|
+
</span><span class="marked0"><a name="line57"></a> 57 def PrettyPrint.singleline_format(output='', maxwidth=nil, newline=nil, genspace=nil)
|
658
|
+
</span><span class="uncovered1"><a name="line58"></a> 58 q = SingleLine.new(output)
|
659
|
+
</span><span class="uncovered0"><a name="line59"></a> 59 yield q
|
660
|
+
</span><span class="uncovered1"><a name="line60"></a> 60 output
|
661
|
+
</span><span class="uncovered0"><a name="line61"></a> 61 end
|
662
|
+
</span><span class="inferred1"><a name="line62"></a> 62
|
663
|
+
</span><span class="inferred0"><a name="line63"></a> 63 # Creates a buffer for pretty printing.
|
664
|
+
</span><span class="inferred1"><a name="line64"></a> 64 #
|
665
|
+
</span><span class="inferred0"><a name="line65"></a> 65 # +output+ is an output target. If it is not specified, '' is assumed. It
|
666
|
+
</span><span class="inferred1"><a name="line66"></a> 66 # should have a << method which accepts the first argument +obj+ of
|
667
|
+
</span><span class="inferred0"><a name="line67"></a> 67 # PrettyPrint#text, the first argument +sep+ of PrettyPrint#breakable, the
|
668
|
+
</span><span class="inferred1"><a name="line68"></a> 68 # first argument +newline+ of PrettyPrint.new, and the result of a given
|
669
|
+
</span><span class="inferred0"><a name="line69"></a> 69 # block for PrettyPrint.new.
|
670
|
+
</span><span class="inferred1"><a name="line70"></a> 70 #
|
671
|
+
</span><span class="inferred0"><a name="line71"></a> 71 # +maxwidth+ specifies maximum line length. If it is not specified, 79 is
|
672
|
+
</span><span class="inferred1"><a name="line72"></a> 72 # assumed. However actual outputs may overflow +maxwidth+ if long
|
673
|
+
</span><span class="inferred0"><a name="line73"></a> 73 # non-breakable texts are provided.
|
674
|
+
</span><span class="inferred1"><a name="line74"></a> 74 #
|
675
|
+
</span><span class="inferred0"><a name="line75"></a> 75 # +newline+ is used for line breaks. "\n" is used if it is not specified.
|
676
|
+
</span><span class="inferred1"><a name="line76"></a> 76 #
|
677
|
+
</span><span class="inferred0"><a name="line77"></a> 77 # The block is used to generate spaces. {|width| ' ' * width} is used if it
|
678
|
+
</span><span class="inferred1"><a name="line78"></a> 78 # is not given.
|
679
|
+
</span><span class="inferred0"><a name="line79"></a> 79 #
|
680
|
+
</span><span class="marked1"><a name="line80"></a> 80 def initialize(output='', maxwidth=79, newline="\n", &genspace)
|
681
|
+
</span><span class="uncovered0"><a name="line81"></a> 81 @output = output
|
682
|
+
</span><span class="uncovered1"><a name="line82"></a> 82 @maxwidth = maxwidth
|
683
|
+
</span><span class="uncovered0"><a name="line83"></a> 83 @newline = newline
|
684
|
+
</span><span class="uncovered1"><a name="line84"></a> 84 @genspace = genspace || lambda {|n| ' ' * n}
|
685
|
+
</span><span class="uncovered0"><a name="line85"></a> 85
|
686
|
+
</span><span class="uncovered1"><a name="line86"></a> 86 @output_width = 0
|
687
|
+
</span><span class="uncovered0"><a name="line87"></a> 87 @buffer_width = 0
|
688
|
+
</span><span class="uncovered1"><a name="line88"></a> 88 @buffer = []
|
689
|
+
</span><span class="uncovered0"><a name="line89"></a> 89
|
690
|
+
</span><span class="uncovered1"><a name="line90"></a> 90 root_group = Group.new(0)
|
691
|
+
</span><span class="uncovered0"><a name="line91"></a> 91 @group_stack = [root_group]
|
692
|
+
</span><span class="uncovered1"><a name="line92"></a> 92 @group_queue = GroupQueue.new(root_group)
|
693
|
+
</span><span class="uncovered0"><a name="line93"></a> 93 @indent = 0
|
694
|
+
</span><span class="uncovered1"><a name="line94"></a> 94 end
|
695
|
+
</span><span class="marked0"><a name="line95"></a> 95 attr_reader :output, :maxwidth, :newline, :genspace
|
696
|
+
</span><span class="marked1"><a name="line96"></a> 96 attr_reader :indent, :group_queue
|
697
|
+
</span><span class="inferred0"><a name="line97"></a> 97
|
698
|
+
</span><span class="marked1"><a name="line98"></a> 98 def current_group
|
699
|
+
</span><span class="uncovered0"><a name="line99"></a> 99 @group_stack.last
|
700
|
+
</span><span class="uncovered1"><a name="line100"></a>100 end
|
701
|
+
</span><span class="inferred0"><a name="line101"></a>101
|
702
|
+
</span><span class="inferred1"><a name="line102"></a>102 # first? is a predicate to test the call is a first call to first? with
|
703
|
+
</span><span class="inferred0"><a name="line103"></a>103 # current group.
|
704
|
+
</span><span class="inferred1"><a name="line104"></a>104 #
|
705
|
+
</span><span class="inferred0"><a name="line105"></a>105 # It is useful to format comma separated values as:
|
706
|
+
</span><span class="inferred1"><a name="line106"></a>106 #
|
707
|
+
</span><span class="inferred0"><a name="line107"></a>107 # q.group(1, '[', ']') {
|
708
|
+
</span><span class="inferred1"><a name="line108"></a>108 # xxx.each {|yyy|
|
709
|
+
</span><span class="inferred0"><a name="line109"></a>109 # unless q.first?
|
710
|
+
</span><span class="inferred1"><a name="line110"></a>110 # q.text ','
|
711
|
+
</span><span class="inferred0"><a name="line111"></a>111 # q.breakable
|
712
|
+
</span><span class="inferred1"><a name="line112"></a>112 # end
|
713
|
+
</span><span class="inferred0"><a name="line113"></a>113 # ... pretty printing yyy ...
|
714
|
+
</span><span class="inferred1"><a name="line114"></a>114 # }
|
715
|
+
</span><span class="inferred0"><a name="line115"></a>115 # }
|
716
|
+
</span><span class="inferred1"><a name="line116"></a>116 #
|
717
|
+
</span><span class="inferred0"><a name="line117"></a>117 # first? is obsoleted in 1.8.2.
|
718
|
+
</span><span class="inferred1"><a name="line118"></a>118 #
|
719
|
+
</span><span class="marked0"><a name="line119"></a>119 def first?
|
720
|
+
</span><span class="uncovered1"><a name="line120"></a>120 warn "PrettyPrint#first? is obsoleted at 1.8.2."
|
721
|
+
</span><span class="uncovered0"><a name="line121"></a>121 current_group.first?
|
722
|
+
</span><span class="uncovered1"><a name="line122"></a>122 end
|
723
|
+
</span><span class="inferred0"><a name="line123"></a>123
|
724
|
+
</span><span class="marked1"><a name="line124"></a>124 def break_outmost_groups
|
725
|
+
</span><span class="uncovered0"><a name="line125"></a>125 while @maxwidth < @output_width + @buffer_width
|
726
|
+
</span><span class="uncovered1"><a name="line126"></a>126 return unless group = @group_queue.deq
|
727
|
+
</span><span class="uncovered0"><a name="line127"></a>127 until group.breakables.empty?
|
728
|
+
</span><span class="uncovered1"><a name="line128"></a>128 data = @buffer.shift
|
729
|
+
</span><span class="uncovered0"><a name="line129"></a>129 @output_width = data.output(@output, @output_width)
|
730
|
+
</span><span class="uncovered1"><a name="line130"></a>130 @buffer_width -= data.width
|
731
|
+
</span><span class="uncovered0"><a name="line131"></a>131 end
|
732
|
+
</span><span class="uncovered1"><a name="line132"></a>132 while !@buffer.empty? && Text === @buffer.first
|
733
|
+
</span><span class="uncovered0"><a name="line133"></a>133 text = @buffer.shift
|
734
|
+
</span><span class="uncovered1"><a name="line134"></a>134 @output_width = text.output(@output, @output_width)
|
735
|
+
</span><span class="uncovered0"><a name="line135"></a>135 @buffer_width -= text.width
|
736
|
+
</span><span class="uncovered1"><a name="line136"></a>136 end
|
737
|
+
</span><span class="uncovered0"><a name="line137"></a>137 end
|
738
|
+
</span><span class="uncovered1"><a name="line138"></a>138 end
|
739
|
+
</span><span class="inferred0"><a name="line139"></a>139
|
740
|
+
</span><span class="inferred1"><a name="line140"></a>140 # This adds +obj+ as a text of +width+ columns in width.
|
741
|
+
</span><span class="inferred0"><a name="line141"></a>141 #
|
742
|
+
</span><span class="inferred1"><a name="line142"></a>142 # If +width+ is not specified, obj.length is used.
|
743
|
+
</span><span class="inferred0"><a name="line143"></a>143 #
|
744
|
+
</span><span class="marked1"><a name="line144"></a>144 def text(obj, width=obj.length)
|
745
|
+
</span><span class="uncovered0"><a name="line145"></a>145 if @buffer.empty?
|
746
|
+
</span><span class="uncovered1"><a name="line146"></a>146 @output << obj
|
747
|
+
</span><span class="uncovered0"><a name="line147"></a>147 @output_width += width
|
748
|
+
</span><span class="uncovered1"><a name="line148"></a>148 else
|
749
|
+
</span><span class="uncovered0"><a name="line149"></a>149 text = @buffer.last
|
750
|
+
</span><span class="uncovered1"><a name="line150"></a>150 unless Text === text
|
751
|
+
</span><span class="uncovered0"><a name="line151"></a>151 text = Text.new
|
752
|
+
</span><span class="uncovered1"><a name="line152"></a>152 @buffer << text
|
753
|
+
</span><span class="uncovered0"><a name="line153"></a>153 end
|
754
|
+
</span><span class="uncovered1"><a name="line154"></a>154 text.add(obj, width)
|
755
|
+
</span><span class="uncovered0"><a name="line155"></a>155 @buffer_width += width
|
756
|
+
</span><span class="uncovered1"><a name="line156"></a>156 break_outmost_groups
|
757
|
+
</span><span class="uncovered0"><a name="line157"></a>157 end
|
758
|
+
</span><span class="uncovered1"><a name="line158"></a>158 end
|
759
|
+
</span><span class="inferred0"><a name="line159"></a>159
|
760
|
+
</span><span class="marked1"><a name="line160"></a>160 def fill_breakable(sep=' ', width=sep.length)
|
761
|
+
</span><span class="uncovered0"><a name="line161"></a>161 group { breakable sep, width }
|
762
|
+
</span><span class="uncovered1"><a name="line162"></a>162 end
|
763
|
+
</span><span class="inferred0"><a name="line163"></a>163
|
764
|
+
</span><span class="inferred1"><a name="line164"></a>164 # This tells "you can break a line here if necessary", and a +width+\-column
|
765
|
+
</span><span class="inferred0"><a name="line165"></a>165 # text +sep+ is inserted if a line is not broken at the point.
|
766
|
+
</span><span class="inferred1"><a name="line166"></a>166 #
|
767
|
+
</span><span class="inferred0"><a name="line167"></a>167 # If +sep+ is not specified, " " is used.
|
768
|
+
</span><span class="inferred1"><a name="line168"></a>168 #
|
769
|
+
</span><span class="inferred0"><a name="line169"></a>169 # If +width+ is not specified, +sep.length+ is used. You will have to
|
770
|
+
</span><span class="inferred1"><a name="line170"></a>170 # specify this when +sep+ is a multibyte character, for example.
|
771
|
+
</span><span class="inferred0"><a name="line171"></a>171 #
|
772
|
+
</span><span class="marked1"><a name="line172"></a>172 def breakable(sep=' ', width=sep.length)
|
773
|
+
</span><span class="uncovered0"><a name="line173"></a>173 group = @group_stack.last
|
774
|
+
</span><span class="uncovered1"><a name="line174"></a>174 if group.break?
|
775
|
+
</span><span class="uncovered0"><a name="line175"></a>175 flush
|
776
|
+
</span><span class="uncovered1"><a name="line176"></a>176 @output << @newline
|
777
|
+
</span><span class="uncovered0"><a name="line177"></a>177 @output << @genspace.call(@indent)
|
778
|
+
</span><span class="uncovered1"><a name="line178"></a>178 @output_width = @indent
|
779
|
+
</span><span class="uncovered0"><a name="line179"></a>179 @buffer_width = 0
|
780
|
+
</span><span class="uncovered1"><a name="line180"></a>180 else
|
781
|
+
</span><span class="uncovered0"><a name="line181"></a>181 @buffer << Breakable.new(sep, width, self)
|
782
|
+
</span><span class="uncovered1"><a name="line182"></a>182 @buffer_width += width
|
783
|
+
</span><span class="uncovered0"><a name="line183"></a>183 break_outmost_groups
|
784
|
+
</span><span class="uncovered1"><a name="line184"></a>184 end
|
785
|
+
</span><span class="uncovered0"><a name="line185"></a>185 end
|
786
|
+
</span><span class="inferred1"><a name="line186"></a>186
|
787
|
+
</span><span class="inferred0"><a name="line187"></a>187 # Groups line break hints added in the block. The line break hints are all
|
788
|
+
</span><span class="inferred1"><a name="line188"></a>188 # to be used or not.
|
789
|
+
</span><span class="inferred0"><a name="line189"></a>189 #
|
790
|
+
</span><span class="inferred1"><a name="line190"></a>190 # If +indent+ is specified, the method call is regarded as nested by
|
791
|
+
</span><span class="inferred0"><a name="line191"></a>191 # nest(indent) { ... }.
|
792
|
+
</span><span class="inferred1"><a name="line192"></a>192 #
|
793
|
+
</span><span class="inferred0"><a name="line193"></a>193 # If +open_obj+ is specified, <tt>text open_obj, open_width</tt> is called
|
794
|
+
</span><span class="inferred1"><a name="line194"></a>194 # before grouping. If +close_obj+ is specified, <tt>text close_obj,
|
795
|
+
</span><span class="inferred0"><a name="line195"></a>195 # close_width</tt> is called after grouping.
|
796
|
+
</span><span class="inferred1"><a name="line196"></a>196 #
|
797
|
+
</span><span class="marked0"><a name="line197"></a>197 def group(indent=0, open_obj='', close_obj='', open_width=open_obj.length, close_width=close_obj.length)
|
798
|
+
</span><span class="uncovered1"><a name="line198"></a>198 text open_obj, open_width
|
799
|
+
</span><span class="uncovered0"><a name="line199"></a>199 group_sub {
|
800
|
+
</span><span class="uncovered1"><a name="line200"></a>200 nest(indent) {
|
801
|
+
</span><span class="uncovered0"><a name="line201"></a>201 yield
|
802
|
+
</span><span class="uncovered1"><a name="line202"></a>202 }
|
803
|
+
</span><span class="uncovered0"><a name="line203"></a>203 }
|
804
|
+
</span><span class="uncovered1"><a name="line204"></a>204 text close_obj, close_width
|
805
|
+
</span><span class="uncovered0"><a name="line205"></a>205 end
|
806
|
+
</span><span class="inferred1"><a name="line206"></a>206
|
807
|
+
</span><span class="marked0"><a name="line207"></a>207 def group_sub
|
808
|
+
</span><span class="uncovered1"><a name="line208"></a>208 group = Group.new(@group_stack.last.depth + 1)
|
809
|
+
</span><span class="uncovered0"><a name="line209"></a>209 @group_stack.push group
|
810
|
+
</span><span class="uncovered1"><a name="line210"></a>210 @group_queue.enq group
|
811
|
+
</span><span class="uncovered0"><a name="line211"></a>211 begin
|
812
|
+
</span><span class="uncovered1"><a name="line212"></a>212 yield
|
813
|
+
</span><span class="uncovered0"><a name="line213"></a>213 ensure
|
814
|
+
</span><span class="uncovered1"><a name="line214"></a>214 @group_stack.pop
|
815
|
+
</span><span class="uncovered0"><a name="line215"></a>215 if group.breakables.empty?
|
816
|
+
</span><span class="uncovered1"><a name="line216"></a>216 @group_queue.delete group
|
817
|
+
</span><span class="uncovered0"><a name="line217"></a>217 end
|
818
|
+
</span><span class="uncovered1"><a name="line218"></a>218 end
|
819
|
+
</span><span class="uncovered0"><a name="line219"></a>219 end
|
820
|
+
</span><span class="inferred1"><a name="line220"></a>220
|
821
|
+
</span><span class="inferred0"><a name="line221"></a>221 # Increases left margin after newline with +indent+ for line breaks added in
|
822
|
+
</span><span class="inferred1"><a name="line222"></a>222 # the block.
|
823
|
+
</span><span class="inferred0"><a name="line223"></a>223 #
|
824
|
+
</span><span class="marked1"><a name="line224"></a>224 def nest(indent)
|
825
|
+
</span><span class="uncovered0"><a name="line225"></a>225 @indent += indent
|
826
|
+
</span><span class="uncovered1"><a name="line226"></a>226 begin
|
827
|
+
</span><span class="uncovered0"><a name="line227"></a>227 yield
|
828
|
+
</span><span class="uncovered1"><a name="line228"></a>228 ensure
|
829
|
+
</span><span class="uncovered0"><a name="line229"></a>229 @indent -= indent
|
830
|
+
</span><span class="uncovered1"><a name="line230"></a>230 end
|
831
|
+
</span><span class="uncovered0"><a name="line231"></a>231 end
|
832
|
+
</span><span class="inferred1"><a name="line232"></a>232
|
833
|
+
</span><span class="inferred0"><a name="line233"></a>233 # outputs buffered data.
|
834
|
+
</span><span class="inferred1"><a name="line234"></a>234 #
|
835
|
+
</span><span class="marked0"><a name="line235"></a>235 def flush
|
836
|
+
</span><span class="uncovered1"><a name="line236"></a>236 @buffer.each {|data|
|
837
|
+
</span><span class="uncovered0"><a name="line237"></a>237 @output_width = data.output(@output, @output_width)
|
838
|
+
</span><span class="uncovered1"><a name="line238"></a>238 }
|
839
|
+
</span><span class="uncovered0"><a name="line239"></a>239 @buffer.clear
|
840
|
+
</span><span class="uncovered1"><a name="line240"></a>240 @buffer_width = 0
|
841
|
+
</span><span class="uncovered0"><a name="line241"></a>241 end
|
842
|
+
</span><span class="inferred1"><a name="line242"></a>242
|
843
|
+
</span><span class="marked0"><a name="line243"></a>243 class Text
|
844
|
+
</span><span class="marked1"><a name="line244"></a>244 def initialize
|
845
|
+
</span><span class="uncovered0"><a name="line245"></a>245 @objs = []
|
846
|
+
</span><span class="uncovered1"><a name="line246"></a>246 @width = 0
|
847
|
+
</span><span class="uncovered0"><a name="line247"></a>247 end
|
848
|
+
</span><span class="marked1"><a name="line248"></a>248 attr_reader :width
|
849
|
+
</span><span class="inferred0"><a name="line249"></a>249
|
850
|
+
</span><span class="marked1"><a name="line250"></a>250 def output(out, output_width)
|
851
|
+
</span><span class="uncovered0"><a name="line251"></a>251 @objs.each {|obj| out << obj}
|
852
|
+
</span><span class="uncovered1"><a name="line252"></a>252 output_width + @width
|
853
|
+
</span><span class="uncovered0"><a name="line253"></a>253 end
|
854
|
+
</span><span class="inferred1"><a name="line254"></a>254
|
855
|
+
</span><span class="marked0"><a name="line255"></a>255 def add(obj, width)
|
856
|
+
</span><span class="uncovered1"><a name="line256"></a>256 @objs << obj
|
857
|
+
</span><span class="uncovered0"><a name="line257"></a>257 @width += width
|
858
|
+
</span><span class="uncovered1"><a name="line258"></a>258 end
|
859
|
+
</span><span class="uncovered0"><a name="line259"></a>259 end
|
860
|
+
</span><span class="inferred1"><a name="line260"></a>260
|
861
|
+
</span><span class="marked0"><a name="line261"></a>261 class Breakable
|
862
|
+
</span><span class="marked1"><a name="line262"></a>262 def initialize(sep, width, q)
|
863
|
+
</span><span class="uncovered0"><a name="line263"></a>263 @obj = sep
|
864
|
+
</span><span class="uncovered1"><a name="line264"></a>264 @width = width
|
865
|
+
</span><span class="uncovered0"><a name="line265"></a>265 @pp = q
|
866
|
+
</span><span class="uncovered1"><a name="line266"></a>266 @indent = q.indent
|
867
|
+
</span><span class="uncovered0"><a name="line267"></a>267 @group = q.current_group
|
868
|
+
</span><span class="uncovered1"><a name="line268"></a>268 @group.breakables.push self
|
869
|
+
</span><span class="uncovered0"><a name="line269"></a>269 end
|
870
|
+
</span><span class="marked1"><a name="line270"></a>270 attr_reader :obj, :width, :indent
|
871
|
+
</span><span class="inferred0"><a name="line271"></a>271
|
872
|
+
</span><span class="marked1"><a name="line272"></a>272 def output(out, output_width)
|
873
|
+
</span><span class="uncovered0"><a name="line273"></a>273 @group.breakables.shift
|
874
|
+
</span><span class="uncovered1"><a name="line274"></a>274 if @group.break?
|
875
|
+
</span><span class="uncovered0"><a name="line275"></a>275 out << @pp.newline
|
876
|
+
</span><span class="uncovered1"><a name="line276"></a>276 out << @pp.genspace.call(@indent)
|
877
|
+
</span><span class="uncovered0"><a name="line277"></a>277 @indent
|
878
|
+
</span><span class="uncovered1"><a name="line278"></a>278 else
|
879
|
+
</span><span class="uncovered0"><a name="line279"></a>279 @pp.group_queue.delete @group if @group.breakables.empty?
|
880
|
+
</span><span class="uncovered1"><a name="line280"></a>280 out << @obj
|
881
|
+
</span><span class="uncovered0"><a name="line281"></a>281 output_width + @width
|
882
|
+
</span><span class="uncovered1"><a name="line282"></a>282 end
|
883
|
+
</span><span class="uncovered0"><a name="line283"></a>283 end
|
884
|
+
</span><span class="uncovered1"><a name="line284"></a>284 end
|
885
|
+
</span><span class="inferred0"><a name="line285"></a>285
|
886
|
+
</span><span class="marked1"><a name="line286"></a>286 class Group
|
887
|
+
</span><span class="marked0"><a name="line287"></a>287 def initialize(depth)
|
888
|
+
</span><span class="uncovered1"><a name="line288"></a>288 @depth = depth
|
889
|
+
</span><span class="uncovered0"><a name="line289"></a>289 @breakables = []
|
890
|
+
</span><span class="uncovered1"><a name="line290"></a>290 @break = false
|
891
|
+
</span><span class="uncovered0"><a name="line291"></a>291 end
|
892
|
+
</span><span class="marked1"><a name="line292"></a>292 attr_reader :depth, :breakables
|
893
|
+
</span><span class="inferred0"><a name="line293"></a>293
|
894
|
+
</span><span class="marked1"><a name="line294"></a>294 def break
|
895
|
+
</span><span class="uncovered0"><a name="line295"></a>295 @break = true
|
896
|
+
</span><span class="uncovered1"><a name="line296"></a>296 end
|
897
|
+
</span><span class="inferred0"><a name="line297"></a>297
|
898
|
+
</span><span class="marked1"><a name="line298"></a>298 def break?
|
899
|
+
</span><span class="uncovered0"><a name="line299"></a>299 @break
|
900
|
+
</span><span class="uncovered1"><a name="line300"></a>300 end
|
901
|
+
</span><span class="inferred0"><a name="line301"></a>301
|
902
|
+
</span><span class="marked1"><a name="line302"></a>302 def first?
|
903
|
+
</span><span class="uncovered0"><a name="line303"></a>303 if defined? @first
|
904
|
+
</span><span class="uncovered1"><a name="line304"></a>304 false
|
905
|
+
</span><span class="uncovered0"><a name="line305"></a>305 else
|
906
|
+
</span><span class="uncovered1"><a name="line306"></a>306 @first = false
|
907
|
+
</span><span class="uncovered0"><a name="line307"></a>307 true
|
908
|
+
</span><span class="uncovered1"><a name="line308"></a>308 end
|
909
|
+
</span><span class="uncovered0"><a name="line309"></a>309 end
|
910
|
+
</span><span class="uncovered1"><a name="line310"></a>310 end
|
911
|
+
</span><span class="inferred0"><a name="line311"></a>311
|
912
|
+
</span><span class="marked1"><a name="line312"></a>312 class GroupQueue
|
913
|
+
</span><span class="marked0"><a name="line313"></a>313 def initialize(*groups)
|
914
|
+
</span><span class="uncovered1"><a name="line314"></a>314 @queue = []
|
915
|
+
</span><span class="uncovered0"><a name="line315"></a>315 groups.each {|g| enq g}
|
916
|
+
</span><span class="uncovered1"><a name="line316"></a>316 end
|
917
|
+
</span><span class="inferred0"><a name="line317"></a>317
|
918
|
+
</span><span class="marked1"><a name="line318"></a>318 def enq(group)
|
919
|
+
</span><span class="uncovered0"><a name="line319"></a>319 depth = group.depth
|
920
|
+
</span><span class="uncovered1"><a name="line320"></a>320 @queue << [] until depth < @queue.length
|
921
|
+
</span><span class="uncovered0"><a name="line321"></a>321 @queue[depth] << group
|
922
|
+
</span><span class="uncovered1"><a name="line322"></a>322 end
|
923
|
+
</span><span class="inferred0"><a name="line323"></a>323
|
924
|
+
</span><span class="marked1"><a name="line324"></a>324 def deq
|
925
|
+
</span><span class="uncovered0"><a name="line325"></a>325 @queue.each {|gs|
|
926
|
+
</span><span class="uncovered1"><a name="line326"></a>326 (gs.length-1).downto(0) {|i|
|
927
|
+
</span><span class="uncovered0"><a name="line327"></a>327 unless gs[i].breakables.empty?
|
928
|
+
</span><span class="uncovered1"><a name="line328"></a>328 group = gs.slice!(i, 1).first
|
929
|
+
</span><span class="uncovered0"><a name="line329"></a>329 group.break
|
930
|
+
</span><span class="uncovered1"><a name="line330"></a>330 return group
|
931
|
+
</span><span class="uncovered0"><a name="line331"></a>331 end
|
932
|
+
</span><span class="uncovered1"><a name="line332"></a>332 }
|
933
|
+
</span><span class="uncovered0"><a name="line333"></a>333 gs.each {|group| group.break}
|
934
|
+
</span><span class="uncovered1"><a name="line334"></a>334 gs.clear
|
935
|
+
</span><span class="uncovered0"><a name="line335"></a>335 }
|
936
|
+
</span><span class="uncovered1"><a name="line336"></a>336 return nil
|
937
|
+
</span><span class="uncovered0"><a name="line337"></a>337 end
|
938
|
+
</span><span class="inferred1"><a name="line338"></a>338
|
939
|
+
</span><span class="marked0"><a name="line339"></a>339 def delete(group)
|
940
|
+
</span><span class="uncovered1"><a name="line340"></a>340 @queue[group.depth].delete(group)
|
941
|
+
</span><span class="uncovered0"><a name="line341"></a>341 end
|
942
|
+
</span><span class="uncovered1"><a name="line342"></a>342 end
|
943
|
+
</span><span class="inferred0"><a name="line343"></a>343
|
944
|
+
</span><span class="marked1"><a name="line344"></a>344 class SingleLine
|
945
|
+
</span><span class="marked0"><a name="line345"></a>345 def initialize(output, maxwidth=nil, newline=nil)
|
946
|
+
</span><span class="uncovered1"><a name="line346"></a>346 @output = output
|
947
|
+
</span><span class="uncovered0"><a name="line347"></a>347 @first = [true]
|
948
|
+
</span><span class="uncovered1"><a name="line348"></a>348 end
|
949
|
+
</span><span class="inferred0"><a name="line349"></a>349
|
950
|
+
</span><span class="marked1"><a name="line350"></a>350 def text(obj, width=nil)
|
951
|
+
</span><span class="uncovered0"><a name="line351"></a>351 @output << obj
|
952
|
+
</span><span class="uncovered1"><a name="line352"></a>352 end
|
953
|
+
</span><span class="inferred0"><a name="line353"></a>353
|
954
|
+
</span><span class="marked1"><a name="line354"></a>354 def breakable(sep=' ', width=nil)
|
955
|
+
</span><span class="uncovered0"><a name="line355"></a>355 @output << sep
|
956
|
+
</span><span class="uncovered1"><a name="line356"></a>356 end
|
957
|
+
</span><span class="inferred0"><a name="line357"></a>357
|
958
|
+
</span><span class="marked1"><a name="line358"></a>358 def nest(indent)
|
959
|
+
</span><span class="uncovered0"><a name="line359"></a>359 yield
|
960
|
+
</span><span class="uncovered1"><a name="line360"></a>360 end
|
961
|
+
</span><span class="inferred0"><a name="line361"></a>361
|
962
|
+
</span><span class="marked1"><a name="line362"></a>362 def group(indent=nil, open_obj='', close_obj='', open_width=nil, close_width=nil)
|
963
|
+
</span><span class="uncovered0"><a name="line363"></a>363 @first.push true
|
964
|
+
</span><span class="uncovered1"><a name="line364"></a>364 @output << open_obj
|
965
|
+
</span><span class="uncovered0"><a name="line365"></a>365 yield
|
966
|
+
</span><span class="uncovered1"><a name="line366"></a>366 @output << close_obj
|
967
|
+
</span><span class="uncovered0"><a name="line367"></a>367 @first.pop
|
968
|
+
</span><span class="uncovered1"><a name="line368"></a>368 end
|
969
|
+
</span><span class="inferred0"><a name="line369"></a>369
|
970
|
+
</span><span class="marked1"><a name="line370"></a>370 def flush
|
971
|
+
</span><span class="inferred0"><a name="line371"></a>371 end
|
972
|
+
</span><span class="inferred1"><a name="line372"></a>372
|
973
|
+
</span><span class="marked0"><a name="line373"></a>373 def first?
|
974
|
+
</span><span class="uncovered1"><a name="line374"></a>374 result = @first[-1]
|
975
|
+
</span><span class="uncovered0"><a name="line375"></a>375 @first[-1] = false
|
976
|
+
</span><span class="uncovered1"><a name="line376"></a>376 result
|
977
|
+
</span><span class="uncovered0"><a name="line377"></a>377 end
|
978
|
+
</span><span class="uncovered1"><a name="line378"></a>378 end
|
979
|
+
</span><span class="uncovered0"><a name="line379"></a>379 end
|
980
|
+
</span><span class="inferred1"><a name="line380"></a>380
|
981
|
+
</span><span class="marked0"><a name="line381"></a>381 if __FILE__ == $0
|
982
|
+
</span><span class="uncovered1"><a name="line382"></a>382 require 'test/unit'
|
983
|
+
</span><span class="uncovered0"><a name="line383"></a>383
|
984
|
+
</span><span class="uncovered1"><a name="line384"></a>384 class WadlerExample < Test::Unit::TestCase # :nodoc:
|
985
|
+
</span><span class="uncovered0"><a name="line385"></a>385 def setup
|
986
|
+
</span><span class="uncovered1"><a name="line386"></a>386 @tree = Tree.new("aaaa", Tree.new("bbbbb", Tree.new("ccc"),
|
987
|
+
</span><span class="uncovered0"><a name="line387"></a>387 Tree.new("dd")),
|
988
|
+
</span><span class="uncovered1"><a name="line388"></a>388 Tree.new("eee"),
|
989
|
+
</span><span class="uncovered0"><a name="line389"></a>389 Tree.new("ffff", Tree.new("gg"),
|
990
|
+
</span><span class="uncovered1"><a name="line390"></a>390 Tree.new("hhh"),
|
991
|
+
</span><span class="uncovered0"><a name="line391"></a>391 Tree.new("ii")))
|
992
|
+
</span><span class="uncovered1"><a name="line392"></a>392 end
|
993
|
+
</span><span class="uncovered0"><a name="line393"></a>393
|
994
|
+
</span><span class="uncovered1"><a name="line394"></a>394 def hello(width)
|
995
|
+
</span><span class="uncovered0"><a name="line395"></a>395 PrettyPrint.format('', width) {|hello|
|
996
|
+
</span><span class="uncovered1"><a name="line396"></a>396 hello.group {
|
997
|
+
</span><span class="uncovered0"><a name="line397"></a>397 hello.group {
|
998
|
+
</span><span class="uncovered1"><a name="line398"></a>398 hello.group {
|
999
|
+
</span><span class="uncovered0"><a name="line399"></a>399 hello.group {
|
1000
|
+
</span><span class="uncovered1"><a name="line400"></a>400 hello.text 'hello'
|
1001
|
+
</span><span class="uncovered0"><a name="line401"></a>401 hello.breakable; hello.text 'a'
|
1002
|
+
</span><span class="uncovered1"><a name="line402"></a>402 }
|
1003
|
+
</span><span class="uncovered0"><a name="line403"></a>403 hello.breakable; hello.text 'b'
|
1004
|
+
</span><span class="uncovered1"><a name="line404"></a>404 }
|
1005
|
+
</span><span class="uncovered0"><a name="line405"></a>405 hello.breakable; hello.text 'c'
|
1006
|
+
</span><span class="uncovered1"><a name="line406"></a>406 }
|
1007
|
+
</span><span class="uncovered0"><a name="line407"></a>407 hello.breakable; hello.text 'd'
|
1008
|
+
</span><span class="uncovered1"><a name="line408"></a>408 }
|
1009
|
+
</span><span class="uncovered0"><a name="line409"></a>409 }
|
1010
|
+
</span><span class="uncovered1"><a name="line410"></a>410 end
|
1011
|
+
</span><span class="uncovered0"><a name="line411"></a>411
|
1012
|
+
</span><span class="uncovered1"><a name="line412"></a>412 def test_hello_00_06
|
1013
|
+
</span><span class="uncovered0"><a name="line413"></a>413 expected = <<'End'.chomp
|
1014
|
+
</span><span class="uncovered1"><a name="line414"></a>414 hello
|
1015
|
+
</span><span class="uncovered0"><a name="line415"></a>415 a
|
1016
|
+
</span><span class="uncovered1"><a name="line416"></a>416 b
|
1017
|
+
</span><span class="uncovered0"><a name="line417"></a>417 c
|
1018
|
+
</span><span class="uncovered1"><a name="line418"></a>418 d
|
1019
|
+
</span><span class="uncovered0"><a name="line419"></a>419 End
|
1020
|
+
</span><span class="uncovered1"><a name="line420"></a>420 assert_equal(expected, hello(0))
|
1021
|
+
</span><span class="uncovered0"><a name="line421"></a>421 assert_equal(expected, hello(6))
|
1022
|
+
</span><span class="uncovered1"><a name="line422"></a>422 end
|
1023
|
+
</span><span class="uncovered0"><a name="line423"></a>423
|
1024
|
+
</span><span class="uncovered1"><a name="line424"></a>424 def test_hello_07_08
|
1025
|
+
</span><span class="uncovered0"><a name="line425"></a>425 expected = <<'End'.chomp
|
1026
|
+
</span><span class="uncovered1"><a name="line426"></a>426 hello a
|
1027
|
+
</span><span class="uncovered0"><a name="line427"></a>427 b
|
1028
|
+
</span><span class="uncovered1"><a name="line428"></a>428 c
|
1029
|
+
</span><span class="uncovered0"><a name="line429"></a>429 d
|
1030
|
+
</span><span class="uncovered1"><a name="line430"></a>430 End
|
1031
|
+
</span><span class="uncovered0"><a name="line431"></a>431 assert_equal(expected, hello(7))
|
1032
|
+
</span><span class="uncovered1"><a name="line432"></a>432 assert_equal(expected, hello(8))
|
1033
|
+
</span><span class="uncovered0"><a name="line433"></a>433 end
|
1034
|
+
</span><span class="uncovered1"><a name="line434"></a>434
|
1035
|
+
</span><span class="uncovered0"><a name="line435"></a>435 def test_hello_09_10
|
1036
|
+
</span><span class="uncovered1"><a name="line436"></a>436 expected = <<'End'.chomp
|
1037
|
+
</span><span class="uncovered0"><a name="line437"></a>437 hello a b
|
1038
|
+
</span><span class="uncovered1"><a name="line438"></a>438 c
|
1039
|
+
</span><span class="uncovered0"><a name="line439"></a>439 d
|
1040
|
+
</span><span class="uncovered1"><a name="line440"></a>440 End
|
1041
|
+
</span><span class="uncovered0"><a name="line441"></a>441 out = hello(9); assert_equal(expected, out)
|
1042
|
+
</span><span class="uncovered1"><a name="line442"></a>442 out = hello(10); assert_equal(expected, out)
|
1043
|
+
</span><span class="uncovered0"><a name="line443"></a>443 end
|
1044
|
+
</span><span class="uncovered1"><a name="line444"></a>444
|
1045
|
+
</span><span class="uncovered0"><a name="line445"></a>445 def test_hello_11_12
|
1046
|
+
</span><span class="uncovered1"><a name="line446"></a>446 expected = <<'End'.chomp
|
1047
|
+
</span><span class="uncovered0"><a name="line447"></a>447 hello a b c
|
1048
|
+
</span><span class="uncovered1"><a name="line448"></a>448 d
|
1049
|
+
</span><span class="uncovered0"><a name="line449"></a>449 End
|
1050
|
+
</span><span class="uncovered1"><a name="line450"></a>450 assert_equal(expected, hello(11))
|
1051
|
+
</span><span class="uncovered0"><a name="line451"></a>451 assert_equal(expected, hello(12))
|
1052
|
+
</span><span class="uncovered1"><a name="line452"></a>452 end
|
1053
|
+
</span><span class="uncovered0"><a name="line453"></a>453
|
1054
|
+
</span><span class="uncovered1"><a name="line454"></a>454 def test_hello_13
|
1055
|
+
</span><span class="uncovered0"><a name="line455"></a>455 expected = <<'End'.chomp
|
1056
|
+
</span><span class="uncovered1"><a name="line456"></a>456 hello a b c d
|
1057
|
+
</span><span class="uncovered0"><a name="line457"></a>457 End
|
1058
|
+
</span><span class="uncovered1"><a name="line458"></a>458 assert_equal(expected, hello(13))
|
1059
|
+
</span><span class="uncovered0"><a name="line459"></a>459 end
|
1060
|
+
</span><span class="uncovered1"><a name="line460"></a>460
|
1061
|
+
</span><span class="uncovered0"><a name="line461"></a>461 def tree(width)
|
1062
|
+
</span><span class="uncovered1"><a name="line462"></a>462 PrettyPrint.format('', width) {|q| @tree.show(q)}
|
1063
|
+
</span><span class="uncovered0"><a name="line463"></a>463 end
|
1064
|
+
</span><span class="uncovered1"><a name="line464"></a>464
|
1065
|
+
</span><span class="uncovered0"><a name="line465"></a>465 def test_tree_00_19
|
1066
|
+
</span><span class="uncovered1"><a name="line466"></a>466 expected = <<'End'.chomp
|
1067
|
+
</span><span class="uncovered0"><a name="line467"></a>467 aaaa[bbbbb[ccc,
|
1068
|
+
</span><span class="uncovered1"><a name="line468"></a>468 dd],
|
1069
|
+
</span><span class="uncovered0"><a name="line469"></a>469 eee,
|
1070
|
+
</span><span class="uncovered1"><a name="line470"></a>470 ffff[gg,
|
1071
|
+
</span><span class="uncovered0"><a name="line471"></a>471 hhh,
|
1072
|
+
</span><span class="uncovered1"><a name="line472"></a>472 ii]]
|
1073
|
+
</span><span class="uncovered0"><a name="line473"></a>473 End
|
1074
|
+
</span><span class="uncovered1"><a name="line474"></a>474 assert_equal(expected, tree(0))
|
1075
|
+
</span><span class="uncovered0"><a name="line475"></a>475 assert_equal(expected, tree(19))
|
1076
|
+
</span><span class="uncovered1"><a name="line476"></a>476 end
|
1077
|
+
</span><span class="uncovered0"><a name="line477"></a>477
|
1078
|
+
</span><span class="uncovered1"><a name="line478"></a>478 def test_tree_20_22
|
1079
|
+
</span><span class="uncovered0"><a name="line479"></a>479 expected = <<'End'.chomp
|
1080
|
+
</span><span class="uncovered1"><a name="line480"></a>480 aaaa[bbbbb[ccc, dd],
|
1081
|
+
</span><span class="uncovered0"><a name="line481"></a>481 eee,
|
1082
|
+
</span><span class="uncovered1"><a name="line482"></a>482 ffff[gg,
|
1083
|
+
</span><span class="uncovered0"><a name="line483"></a>483 hhh,
|
1084
|
+
</span><span class="uncovered1"><a name="line484"></a>484 ii]]
|
1085
|
+
</span><span class="uncovered0"><a name="line485"></a>485 End
|
1086
|
+
</span><span class="uncovered1"><a name="line486"></a>486 assert_equal(expected, tree(20))
|
1087
|
+
</span><span class="uncovered0"><a name="line487"></a>487 assert_equal(expected, tree(22))
|
1088
|
+
</span><span class="uncovered1"><a name="line488"></a>488 end
|
1089
|
+
</span><span class="uncovered0"><a name="line489"></a>489
|
1090
|
+
</span><span class="uncovered1"><a name="line490"></a>490 def test_tree_23_43
|
1091
|
+
</span><span class="uncovered0"><a name="line491"></a>491 expected = <<'End'.chomp
|
1092
|
+
</span><span class="uncovered1"><a name="line492"></a>492 aaaa[bbbbb[ccc, dd],
|
1093
|
+
</span><span class="uncovered0"><a name="line493"></a>493 eee,
|
1094
|
+
</span><span class="uncovered1"><a name="line494"></a>494 ffff[gg, hhh, ii]]
|
1095
|
+
</span><span class="uncovered0"><a name="line495"></a>495 End
|
1096
|
+
</span><span class="uncovered1"><a name="line496"></a>496 assert_equal(expected, tree(23))
|
1097
|
+
</span><span class="uncovered0"><a name="line497"></a>497 assert_equal(expected, tree(43))
|
1098
|
+
</span><span class="uncovered1"><a name="line498"></a>498 end
|
1099
|
+
</span><span class="uncovered0"><a name="line499"></a>499
|
1100
|
+
</span><span class="uncovered1"><a name="line500"></a>500 def test_tree_44
|
1101
|
+
</span><span class="uncovered0"><a name="line501"></a>501 assert_equal(<<'End'.chomp, tree(44))
|
1102
|
+
</span><span class="uncovered1"><a name="line502"></a>502 aaaa[bbbbb[ccc, dd], eee, ffff[gg, hhh, ii]]
|
1103
|
+
</span><span class="uncovered0"><a name="line503"></a>503 End
|
1104
|
+
</span><span class="uncovered1"><a name="line504"></a>504 end
|
1105
|
+
</span><span class="uncovered0"><a name="line505"></a>505
|
1106
|
+
</span><span class="uncovered1"><a name="line506"></a>506 def tree_alt(width)
|
1107
|
+
</span><span class="uncovered0"><a name="line507"></a>507 PrettyPrint.format('', width) {|q| @tree.altshow(q)}
|
1108
|
+
</span><span class="uncovered1"><a name="line508"></a>508 end
|
1109
|
+
</span><span class="uncovered0"><a name="line509"></a>509
|
1110
|
+
</span><span class="uncovered1"><a name="line510"></a>510 def test_tree_alt_00_18
|
1111
|
+
</span><span class="uncovered0"><a name="line511"></a>511 expected = <<'End'.chomp
|
1112
|
+
</span><span class="uncovered1"><a name="line512"></a>512 aaaa[
|
1113
|
+
</span><span class="uncovered0"><a name="line513"></a>513 bbbbb[
|
1114
|
+
</span><span class="uncovered1"><a name="line514"></a>514 ccc,
|
1115
|
+
</span><span class="uncovered0"><a name="line515"></a>515 dd
|
1116
|
+
</span><span class="uncovered1"><a name="line516"></a>516 ],
|
1117
|
+
</span><span class="uncovered0"><a name="line517"></a>517 eee,
|
1118
|
+
</span><span class="uncovered1"><a name="line518"></a>518 ffff[
|
1119
|
+
</span><span class="uncovered0"><a name="line519"></a>519 gg,
|
1120
|
+
</span><span class="uncovered1"><a name="line520"></a>520 hhh,
|
1121
|
+
</span><span class="uncovered0"><a name="line521"></a>521 ii
|
1122
|
+
</span><span class="uncovered1"><a name="line522"></a>522 ]
|
1123
|
+
</span><span class="uncovered0"><a name="line523"></a>523 ]
|
1124
|
+
</span><span class="uncovered1"><a name="line524"></a>524 End
|
1125
|
+
</span><span class="uncovered0"><a name="line525"></a>525 assert_equal(expected, tree_alt(0))
|
1126
|
+
</span><span class="uncovered1"><a name="line526"></a>526 assert_equal(expected, tree_alt(18))
|
1127
|
+
</span><span class="uncovered0"><a name="line527"></a>527 end
|
1128
|
+
</span><span class="uncovered1"><a name="line528"></a>528
|
1129
|
+
</span><span class="uncovered0"><a name="line529"></a>529 def test_tree_alt_19_20
|
1130
|
+
</span><span class="uncovered1"><a name="line530"></a>530 expected = <<'End'.chomp
|
1131
|
+
</span><span class="uncovered0"><a name="line531"></a>531 aaaa[
|
1132
|
+
</span><span class="uncovered1"><a name="line532"></a>532 bbbbb[ ccc, dd ],
|
1133
|
+
</span><span class="uncovered0"><a name="line533"></a>533 eee,
|
1134
|
+
</span><span class="uncovered1"><a name="line534"></a>534 ffff[
|
1135
|
+
</span><span class="uncovered0"><a name="line535"></a>535 gg,
|
1136
|
+
</span><span class="uncovered1"><a name="line536"></a>536 hhh,
|
1137
|
+
</span><span class="uncovered0"><a name="line537"></a>537 ii
|
1138
|
+
</span><span class="uncovered1"><a name="line538"></a>538 ]
|
1139
|
+
</span><span class="uncovered0"><a name="line539"></a>539 ]
|
1140
|
+
</span><span class="uncovered1"><a name="line540"></a>540 End
|
1141
|
+
</span><span class="uncovered0"><a name="line541"></a>541 assert_equal(expected, tree_alt(19))
|
1142
|
+
</span><span class="uncovered1"><a name="line542"></a>542 assert_equal(expected, tree_alt(20))
|
1143
|
+
</span><span class="uncovered0"><a name="line543"></a>543 end
|
1144
|
+
</span><span class="uncovered1"><a name="line544"></a>544
|
1145
|
+
</span><span class="uncovered0"><a name="line545"></a>545 def test_tree_alt_20_49
|
1146
|
+
</span><span class="uncovered1"><a name="line546"></a>546 expected = <<'End'.chomp
|
1147
|
+
</span><span class="uncovered0"><a name="line547"></a>547 aaaa[
|
1148
|
+
</span><span class="uncovered1"><a name="line548"></a>548 bbbbb[ ccc, dd ],
|
1149
|
+
</span><span class="uncovered0"><a name="line549"></a>549 eee,
|
1150
|
+
</span><span class="uncovered1"><a name="line550"></a>550 ffff[ gg, hhh, ii ]
|
1151
|
+
</span><span class="uncovered0"><a name="line551"></a>551 ]
|
1152
|
+
</span><span class="uncovered1"><a name="line552"></a>552 End
|
1153
|
+
</span><span class="uncovered0"><a name="line553"></a>553 assert_equal(expected, tree_alt(21))
|
1154
|
+
</span><span class="uncovered1"><a name="line554"></a>554 assert_equal(expected, tree_alt(49))
|
1155
|
+
</span><span class="uncovered0"><a name="line555"></a>555 end
|
1156
|
+
</span><span class="uncovered1"><a name="line556"></a>556
|
1157
|
+
</span><span class="uncovered0"><a name="line557"></a>557 def test_tree_alt_50
|
1158
|
+
</span><span class="uncovered1"><a name="line558"></a>558 expected = <<'End'.chomp
|
1159
|
+
</span><span class="uncovered0"><a name="line559"></a>559 aaaa[ bbbbb[ ccc, dd ], eee, ffff[ gg, hhh, ii ] ]
|
1160
|
+
</span><span class="uncovered1"><a name="line560"></a>560 End
|
1161
|
+
</span><span class="uncovered0"><a name="line561"></a>561 assert_equal(expected, tree_alt(50))
|
1162
|
+
</span><span class="uncovered1"><a name="line562"></a>562 end
|
1163
|
+
</span><span class="uncovered0"><a name="line563"></a>563
|
1164
|
+
</span><span class="uncovered1"><a name="line564"></a>564 class Tree # :nodoc:
|
1165
|
+
</span><span class="uncovered0"><a name="line565"></a>565 def initialize(string, *children)
|
1166
|
+
</span><span class="uncovered1"><a name="line566"></a>566 @string = string
|
1167
|
+
</span><span class="uncovered0"><a name="line567"></a>567 @children = children
|
1168
|
+
</span><span class="uncovered1"><a name="line568"></a>568 end
|
1169
|
+
</span><span class="uncovered0"><a name="line569"></a>569
|
1170
|
+
</span><span class="uncovered1"><a name="line570"></a>570 def show(q)
|
1171
|
+
</span><span class="uncovered0"><a name="line571"></a>571 q.group {
|
1172
|
+
</span><span class="uncovered1"><a name="line572"></a>572 q.text @string
|
1173
|
+
</span><span class="uncovered0"><a name="line573"></a>573 q.nest(@string.length) {
|
1174
|
+
</span><span class="uncovered1"><a name="line574"></a>574 unless @children.empty?
|
1175
|
+
</span><span class="uncovered0"><a name="line575"></a>575 q.text '['
|
1176
|
+
</span><span class="uncovered1"><a name="line576"></a>576 q.nest(1) {
|
1177
|
+
</span><span class="uncovered0"><a name="line577"></a>577 first = true
|
1178
|
+
</span><span class="uncovered1"><a name="line578"></a>578 @children.each {|t|
|
1179
|
+
</span><span class="uncovered0"><a name="line579"></a>579 if first
|
1180
|
+
</span><span class="uncovered1"><a name="line580"></a>580 first = false
|
1181
|
+
</span><span class="uncovered0"><a name="line581"></a>581 else
|
1182
|
+
</span><span class="uncovered1"><a name="line582"></a>582 q.text ','
|
1183
|
+
</span><span class="uncovered0"><a name="line583"></a>583 q.breakable
|
1184
|
+
</span><span class="uncovered1"><a name="line584"></a>584 end
|
1185
|
+
</span><span class="uncovered0"><a name="line585"></a>585 t.show(q)
|
1186
|
+
</span><span class="uncovered1"><a name="line586"></a>586 }
|
1187
|
+
</span><span class="uncovered0"><a name="line587"></a>587 }
|
1188
|
+
</span><span class="uncovered1"><a name="line588"></a>588 q.text ']'
|
1189
|
+
</span><span class="uncovered0"><a name="line589"></a>589 end
|
1190
|
+
</span><span class="uncovered1"><a name="line590"></a>590 }
|
1191
|
+
</span><span class="uncovered0"><a name="line591"></a>591 }
|
1192
|
+
</span><span class="uncovered1"><a name="line592"></a>592 end
|
1193
|
+
</span><span class="uncovered0"><a name="line593"></a>593
|
1194
|
+
</span><span class="uncovered1"><a name="line594"></a>594 def altshow(q)
|
1195
|
+
</span><span class="uncovered0"><a name="line595"></a>595 q.group {
|
1196
|
+
</span><span class="uncovered1"><a name="line596"></a>596 q.text @string
|
1197
|
+
</span><span class="uncovered0"><a name="line597"></a>597 unless @children.empty?
|
1198
|
+
</span><span class="uncovered1"><a name="line598"></a>598 q.text '['
|
1199
|
+
</span><span class="uncovered0"><a name="line599"></a>599 q.nest(2) {
|
1200
|
+
</span><span class="uncovered1"><a name="line600"></a>600 q.breakable
|
1201
|
+
</span><span class="uncovered0"><a name="line601"></a>601 first = true
|
1202
|
+
</span><span class="uncovered1"><a name="line602"></a>602 @children.each {|t|
|
1203
|
+
</span><span class="uncovered0"><a name="line603"></a>603 if first
|
1204
|
+
</span><span class="uncovered1"><a name="line604"></a>604 first = false
|
1205
|
+
</span><span class="uncovered0"><a name="line605"></a>605 else
|
1206
|
+
</span><span class="uncovered1"><a name="line606"></a>606 q.text ','
|
1207
|
+
</span><span class="uncovered0"><a name="line607"></a>607 q.breakable
|
1208
|
+
</span><span class="uncovered1"><a name="line608"></a>608 end
|
1209
|
+
</span><span class="uncovered0"><a name="line609"></a>609 t.altshow(q)
|
1210
|
+
</span><span class="uncovered1"><a name="line610"></a>610 }
|
1211
|
+
</span><span class="uncovered0"><a name="line611"></a>611 }
|
1212
|
+
</span><span class="uncovered1"><a name="line612"></a>612 q.breakable
|
1213
|
+
</span><span class="uncovered0"><a name="line613"></a>613 q.text ']'
|
1214
|
+
</span><span class="uncovered1"><a name="line614"></a>614 end
|
1215
|
+
</span><span class="uncovered0"><a name="line615"></a>615 }
|
1216
|
+
</span><span class="uncovered1"><a name="line616"></a>616 end
|
1217
|
+
</span><span class="uncovered0"><a name="line617"></a>617
|
1218
|
+
</span><span class="uncovered1"><a name="line618"></a>618 end
|
1219
|
+
</span><span class="uncovered0"><a name="line619"></a>619 end
|
1220
|
+
</span><span class="uncovered1"><a name="line620"></a>620
|
1221
|
+
</span><span class="uncovered0"><a name="line621"></a>621 class StrictPrettyExample < Test::Unit::TestCase # :nodoc:
|
1222
|
+
</span><span class="uncovered1"><a name="line622"></a>622 def prog(width)
|
1223
|
+
</span><span class="uncovered0"><a name="line623"></a>623 PrettyPrint.format('', width) {|q|
|
1224
|
+
</span><span class="uncovered1"><a name="line624"></a>624 q.group {
|
1225
|
+
</span><span class="uncovered0"><a name="line625"></a>625 q.group {q.nest(2) {
|
1226
|
+
</span><span class="uncovered1"><a name="line626"></a>626 q.text "if"; q.breakable;
|
1227
|
+
</span><span class="uncovered0"><a name="line627"></a>627 q.group {
|
1228
|
+
</span><span class="uncovered1"><a name="line628"></a>628 q.nest(2) {
|
1229
|
+
</span><span class="uncovered0"><a name="line629"></a>629 q.group {q.text "a"; q.breakable; q.text "=="}
|
1230
|
+
</span><span class="uncovered1"><a name="line630"></a>630 q.breakable; q.text "b"}}}}
|
1231
|
+
</span><span class="uncovered0"><a name="line631"></a>631 q.breakable
|
1232
|
+
</span><span class="uncovered1"><a name="line632"></a>632 q.group {q.nest(2) {
|
1233
|
+
</span><span class="uncovered0"><a name="line633"></a>633 q.text "then"; q.breakable;
|
1234
|
+
</span><span class="uncovered1"><a name="line634"></a>634 q.group {
|
1235
|
+
</span><span class="uncovered0"><a name="line635"></a>635 q.nest(2) {
|
1236
|
+
</span><span class="uncovered1"><a name="line636"></a>636 q.group {q.text "a"; q.breakable; q.text "<<"}
|
1237
|
+
</span><span class="uncovered0"><a name="line637"></a>637 q.breakable; q.text "2"}}}}
|
1238
|
+
</span><span class="uncovered1"><a name="line638"></a>638 q.breakable
|
1239
|
+
</span><span class="uncovered0"><a name="line639"></a>639 q.group {q.nest(2) {
|
1240
|
+
</span><span class="uncovered1"><a name="line640"></a>640 q.text "else"; q.breakable;
|
1241
|
+
</span><span class="uncovered0"><a name="line641"></a>641 q.group {
|
1242
|
+
</span><span class="uncovered1"><a name="line642"></a>642 q.nest(2) {
|
1243
|
+
</span><span class="uncovered0"><a name="line643"></a>643 q.group {q.text "a"; q.breakable; q.text "+"}
|
1244
|
+
</span><span class="uncovered1"><a name="line644"></a>644 q.breakable; q.text "b"}}}}}
|
1245
|
+
</span><span class="uncovered0"><a name="line645"></a>645 }
|
1246
|
+
</span><span class="uncovered1"><a name="line646"></a>646 end
|
1247
|
+
</span><span class="uncovered0"><a name="line647"></a>647
|
1248
|
+
</span><span class="uncovered1"><a name="line648"></a>648 def test_00_04
|
1249
|
+
</span><span class="uncovered0"><a name="line649"></a>649 expected = <<'End'.chomp
|
1250
|
+
</span><span class="uncovered1"><a name="line650"></a>650 if
|
1251
|
+
</span><span class="uncovered0"><a name="line651"></a>651 a
|
1252
|
+
</span><span class="uncovered1"><a name="line652"></a>652 ==
|
1253
|
+
</span><span class="uncovered0"><a name="line653"></a>653 b
|
1254
|
+
</span><span class="uncovered1"><a name="line654"></a>654 then
|
1255
|
+
</span><span class="uncovered0"><a name="line655"></a>655 a
|
1256
|
+
</span><span class="uncovered1"><a name="line656"></a>656 <<
|
1257
|
+
</span><span class="uncovered0"><a name="line657"></a>657 2
|
1258
|
+
</span><span class="uncovered1"><a name="line658"></a>658 else
|
1259
|
+
</span><span class="uncovered0"><a name="line659"></a>659 a
|
1260
|
+
</span><span class="uncovered1"><a name="line660"></a>660 +
|
1261
|
+
</span><span class="uncovered0"><a name="line661"></a>661 b
|
1262
|
+
</span><span class="uncovered1"><a name="line662"></a>662 End
|
1263
|
+
</span><span class="uncovered0"><a name="line663"></a>663 assert_equal(expected, prog(0))
|
1264
|
+
</span><span class="uncovered1"><a name="line664"></a>664 assert_equal(expected, prog(4))
|
1265
|
+
</span><span class="uncovered0"><a name="line665"></a>665 end
|
1266
|
+
</span><span class="uncovered1"><a name="line666"></a>666
|
1267
|
+
</span><span class="uncovered0"><a name="line667"></a>667 def test_05
|
1268
|
+
</span><span class="uncovered1"><a name="line668"></a>668 expected = <<'End'.chomp
|
1269
|
+
</span><span class="uncovered0"><a name="line669"></a>669 if
|
1270
|
+
</span><span class="uncovered1"><a name="line670"></a>670 a
|
1271
|
+
</span><span class="uncovered0"><a name="line671"></a>671 ==
|
1272
|
+
</span><span class="uncovered1"><a name="line672"></a>672 b
|
1273
|
+
</span><span class="uncovered0"><a name="line673"></a>673 then
|
1274
|
+
</span><span class="uncovered1"><a name="line674"></a>674 a
|
1275
|
+
</span><span class="uncovered0"><a name="line675"></a>675 <<
|
1276
|
+
</span><span class="uncovered1"><a name="line676"></a>676 2
|
1277
|
+
</span><span class="uncovered0"><a name="line677"></a>677 else
|
1278
|
+
</span><span class="uncovered1"><a name="line678"></a>678 a +
|
1279
|
+
</span><span class="uncovered0"><a name="line679"></a>679 b
|
1280
|
+
</span><span class="uncovered1"><a name="line680"></a>680 End
|
1281
|
+
</span><span class="uncovered0"><a name="line681"></a>681 assert_equal(expected, prog(5))
|
1282
|
+
</span><span class="uncovered1"><a name="line682"></a>682 end
|
1283
|
+
</span><span class="uncovered0"><a name="line683"></a>683
|
1284
|
+
</span><span class="uncovered1"><a name="line684"></a>684 def test_06
|
1285
|
+
</span><span class="uncovered0"><a name="line685"></a>685 expected = <<'End'.chomp
|
1286
|
+
</span><span class="uncovered1"><a name="line686"></a>686 if
|
1287
|
+
</span><span class="uncovered0"><a name="line687"></a>687 a ==
|
1288
|
+
</span><span class="uncovered1"><a name="line688"></a>688 b
|
1289
|
+
</span><span class="uncovered0"><a name="line689"></a>689 then
|
1290
|
+
</span><span class="uncovered1"><a name="line690"></a>690 a <<
|
1291
|
+
</span><span class="uncovered0"><a name="line691"></a>691 2
|
1292
|
+
</span><span class="uncovered1"><a name="line692"></a>692 else
|
1293
|
+
</span><span class="uncovered0"><a name="line693"></a>693 a +
|
1294
|
+
</span><span class="uncovered1"><a name="line694"></a>694 b
|
1295
|
+
</span><span class="uncovered0"><a name="line695"></a>695 End
|
1296
|
+
</span><span class="uncovered1"><a name="line696"></a>696 assert_equal(expected, prog(6))
|
1297
|
+
</span><span class="uncovered0"><a name="line697"></a>697 end
|
1298
|
+
</span><span class="uncovered1"><a name="line698"></a>698
|
1299
|
+
</span><span class="uncovered0"><a name="line699"></a>699 def test_07
|
1300
|
+
</span><span class="uncovered1"><a name="line700"></a>700 expected = <<'End'.chomp
|
1301
|
+
</span><span class="uncovered0"><a name="line701"></a>701 if
|
1302
|
+
</span><span class="uncovered1"><a name="line702"></a>702 a ==
|
1303
|
+
</span><span class="uncovered0"><a name="line703"></a>703 b
|
1304
|
+
</span><span class="uncovered1"><a name="line704"></a>704 then
|
1305
|
+
</span><span class="uncovered0"><a name="line705"></a>705 a <<
|
1306
|
+
</span><span class="uncovered1"><a name="line706"></a>706 2
|
1307
|
+
</span><span class="uncovered0"><a name="line707"></a>707 else
|
1308
|
+
</span><span class="uncovered1"><a name="line708"></a>708 a + b
|
1309
|
+
</span><span class="uncovered0"><a name="line709"></a>709 End
|
1310
|
+
</span><span class="uncovered1"><a name="line710"></a>710 assert_equal(expected, prog(7))
|
1311
|
+
</span><span class="uncovered0"><a name="line711"></a>711 end
|
1312
|
+
</span><span class="uncovered1"><a name="line712"></a>712
|
1313
|
+
</span><span class="uncovered0"><a name="line713"></a>713 def test_08
|
1314
|
+
</span><span class="uncovered1"><a name="line714"></a>714 expected = <<'End'.chomp
|
1315
|
+
</span><span class="uncovered0"><a name="line715"></a>715 if
|
1316
|
+
</span><span class="uncovered1"><a name="line716"></a>716 a == b
|
1317
|
+
</span><span class="uncovered0"><a name="line717"></a>717 then
|
1318
|
+
</span><span class="uncovered1"><a name="line718"></a>718 a << 2
|
1319
|
+
</span><span class="uncovered0"><a name="line719"></a>719 else
|
1320
|
+
</span><span class="uncovered1"><a name="line720"></a>720 a + b
|
1321
|
+
</span><span class="uncovered0"><a name="line721"></a>721 End
|
1322
|
+
</span><span class="uncovered1"><a name="line722"></a>722 assert_equal(expected, prog(8))
|
1323
|
+
</span><span class="uncovered0"><a name="line723"></a>723 end
|
1324
|
+
</span><span class="uncovered1"><a name="line724"></a>724
|
1325
|
+
</span><span class="uncovered0"><a name="line725"></a>725 def test_09
|
1326
|
+
</span><span class="uncovered1"><a name="line726"></a>726 expected = <<'End'.chomp
|
1327
|
+
</span><span class="uncovered0"><a name="line727"></a>727 if a == b
|
1328
|
+
</span><span class="uncovered1"><a name="line728"></a>728 then
|
1329
|
+
</span><span class="uncovered0"><a name="line729"></a>729 a << 2
|
1330
|
+
</span><span class="uncovered1"><a name="line730"></a>730 else
|
1331
|
+
</span><span class="uncovered0"><a name="line731"></a>731 a + b
|
1332
|
+
</span><span class="uncovered1"><a name="line732"></a>732 End
|
1333
|
+
</span><span class="uncovered0"><a name="line733"></a>733 assert_equal(expected, prog(9))
|
1334
|
+
</span><span class="uncovered1"><a name="line734"></a>734 end
|
1335
|
+
</span><span class="uncovered0"><a name="line735"></a>735
|
1336
|
+
</span><span class="uncovered1"><a name="line736"></a>736 def test_10
|
1337
|
+
</span><span class="uncovered0"><a name="line737"></a>737 expected = <<'End'.chomp
|
1338
|
+
</span><span class="uncovered1"><a name="line738"></a>738 if a == b
|
1339
|
+
</span><span class="uncovered0"><a name="line739"></a>739 then
|
1340
|
+
</span><span class="uncovered1"><a name="line740"></a>740 a << 2
|
1341
|
+
</span><span class="uncovered0"><a name="line741"></a>741 else a + b
|
1342
|
+
</span><span class="uncovered1"><a name="line742"></a>742 End
|
1343
|
+
</span><span class="uncovered0"><a name="line743"></a>743 assert_equal(expected, prog(10))
|
1344
|
+
</span><span class="uncovered1"><a name="line744"></a>744 end
|
1345
|
+
</span><span class="uncovered0"><a name="line745"></a>745
|
1346
|
+
</span><span class="uncovered1"><a name="line746"></a>746 def test_11_31
|
1347
|
+
</span><span class="uncovered0"><a name="line747"></a>747 expected = <<'End'.chomp
|
1348
|
+
</span><span class="uncovered1"><a name="line748"></a>748 if a == b
|
1349
|
+
</span><span class="uncovered0"><a name="line749"></a>749 then a << 2
|
1350
|
+
</span><span class="uncovered1"><a name="line750"></a>750 else a + b
|
1351
|
+
</span><span class="uncovered0"><a name="line751"></a>751 End
|
1352
|
+
</span><span class="uncovered1"><a name="line752"></a>752 assert_equal(expected, prog(11))
|
1353
|
+
</span><span class="uncovered0"><a name="line753"></a>753 assert_equal(expected, prog(15))
|
1354
|
+
</span><span class="uncovered1"><a name="line754"></a>754 assert_equal(expected, prog(31))
|
1355
|
+
</span><span class="uncovered0"><a name="line755"></a>755 end
|
1356
|
+
</span><span class="uncovered1"><a name="line756"></a>756
|
1357
|
+
</span><span class="uncovered0"><a name="line757"></a>757 def test_32
|
1358
|
+
</span><span class="uncovered1"><a name="line758"></a>758 expected = <<'End'.chomp
|
1359
|
+
</span><span class="uncovered0"><a name="line759"></a>759 if a == b then a << 2 else a + b
|
1360
|
+
</span><span class="uncovered1"><a name="line760"></a>760 End
|
1361
|
+
</span><span class="uncovered0"><a name="line761"></a>761 assert_equal(expected, prog(32))
|
1362
|
+
</span><span class="uncovered1"><a name="line762"></a>762 end
|
1363
|
+
</span><span class="uncovered0"><a name="line763"></a>763
|
1364
|
+
</span><span class="uncovered1"><a name="line764"></a>764 end
|
1365
|
+
</span><span class="uncovered0"><a name="line765"></a>765
|
1366
|
+
</span><span class="uncovered1"><a name="line766"></a>766 class TailGroup < Test::Unit::TestCase # :nodoc:
|
1367
|
+
</span><span class="uncovered0"><a name="line767"></a>767 def test_1
|
1368
|
+
</span><span class="uncovered1"><a name="line768"></a>768 out = PrettyPrint.format('', 10) {|q|
|
1369
|
+
</span><span class="uncovered0"><a name="line769"></a>769 q.group {
|
1370
|
+
</span><span class="uncovered1"><a name="line770"></a>770 q.group {
|
1371
|
+
</span><span class="uncovered0"><a name="line771"></a>771 q.text "abc"
|
1372
|
+
</span><span class="uncovered1"><a name="line772"></a>772 q.breakable
|
1373
|
+
</span><span class="uncovered0"><a name="line773"></a>773 q.text "def"
|
1374
|
+
</span><span class="uncovered1"><a name="line774"></a>774 }
|
1375
|
+
</span><span class="uncovered0"><a name="line775"></a>775 q.group {
|
1376
|
+
</span><span class="uncovered1"><a name="line776"></a>776 q.text "ghi"
|
1377
|
+
</span><span class="uncovered0"><a name="line777"></a>777 q.breakable
|
1378
|
+
</span><span class="uncovered1"><a name="line778"></a>778 q.text "jkl"
|
1379
|
+
</span><span class="uncovered0"><a name="line779"></a>779 }
|
1380
|
+
</span><span class="uncovered1"><a name="line780"></a>780 }
|
1381
|
+
</span><span class="uncovered0"><a name="line781"></a>781 }
|
1382
|
+
</span><span class="uncovered1"><a name="line782"></a>782 assert_equal("abc defghi\njkl", out)
|
1383
|
+
</span><span class="uncovered0"><a name="line783"></a>783 end
|
1384
|
+
</span><span class="uncovered1"><a name="line784"></a>784 end
|
1385
|
+
</span><span class="uncovered0"><a name="line785"></a>785
|
1386
|
+
</span><span class="uncovered1"><a name="line786"></a>786 class NonString < Test::Unit::TestCase # :nodoc:
|
1387
|
+
</span><span class="uncovered0"><a name="line787"></a>787 def format(width)
|
1388
|
+
</span><span class="uncovered1"><a name="line788"></a>788 PrettyPrint.format([], width, 'newline', lambda {|n| "#{n} spaces"}) {|q|
|
1389
|
+
</span><span class="uncovered0"><a name="line789"></a>789 q.text(3, 3)
|
1390
|
+
</span><span class="uncovered1"><a name="line790"></a>790 q.breakable(1, 1)
|
1391
|
+
</span><span class="uncovered0"><a name="line791"></a>791 q.text(3, 3)
|
1392
|
+
</span><span class="uncovered1"><a name="line792"></a>792 }
|
1393
|
+
</span><span class="uncovered0"><a name="line793"></a>793 end
|
1394
|
+
</span><span class="uncovered1"><a name="line794"></a>794
|
1395
|
+
</span><span class="uncovered0"><a name="line795"></a>795 def test_6
|
1396
|
+
</span><span class="uncovered1"><a name="line796"></a>796 assert_equal([3, "newline", "0 spaces", 3], format(6))
|
1397
|
+
</span><span class="uncovered0"><a name="line797"></a>797 end
|
1398
|
+
</span><span class="uncovered1"><a name="line798"></a>798
|
1399
|
+
</span><span class="uncovered0"><a name="line799"></a>799 def test_7
|
1400
|
+
</span><span class="uncovered1"><a name="line800"></a>800 assert_equal([3, 1, 3], format(7))
|
1401
|
+
</span><span class="uncovered0"><a name="line801"></a>801 end
|
1402
|
+
</span><span class="uncovered1"><a name="line802"></a>802
|
1403
|
+
</span><span class="uncovered0"><a name="line803"></a>803 end
|
1404
|
+
</span><span class="uncovered1"><a name="line804"></a>804
|
1405
|
+
</span><span class="uncovered0"><a name="line805"></a>805 class Fill < Test::Unit::TestCase # :nodoc:
|
1406
|
+
</span><span class="uncovered1"><a name="line806"></a>806 def format(width)
|
1407
|
+
</span><span class="uncovered0"><a name="line807"></a>807 PrettyPrint.format('', width) {|q|
|
1408
|
+
</span><span class="uncovered1"><a name="line808"></a>808 q.group {
|
1409
|
+
</span><span class="uncovered0"><a name="line809"></a>809 q.text 'abc'
|
1410
|
+
</span><span class="uncovered1"><a name="line810"></a>810 q.fill_breakable
|
1411
|
+
</span><span class="uncovered0"><a name="line811"></a>811 q.text 'def'
|
1412
|
+
</span><span class="uncovered1"><a name="line812"></a>812 q.fill_breakable
|
1413
|
+
</span><span class="uncovered0"><a name="line813"></a>813 q.text 'ghi'
|
1414
|
+
</span><span class="uncovered1"><a name="line814"></a>814 q.fill_breakable
|
1415
|
+
</span><span class="uncovered0"><a name="line815"></a>815 q.text 'jkl'
|
1416
|
+
</span><span class="uncovered1"><a name="line816"></a>816 q.fill_breakable
|
1417
|
+
</span><span class="uncovered0"><a name="line817"></a>817 q.text 'mno'
|
1418
|
+
</span><span class="uncovered1"><a name="line818"></a>818 q.fill_breakable
|
1419
|
+
</span><span class="uncovered0"><a name="line819"></a>819 q.text 'pqr'
|
1420
|
+
</span><span class="uncovered1"><a name="line820"></a>820 q.fill_breakable
|
1421
|
+
</span><span class="uncovered0"><a name="line821"></a>821 q.text 'stu'
|
1422
|
+
</span><span class="uncovered1"><a name="line822"></a>822 }
|
1423
|
+
</span><span class="uncovered0"><a name="line823"></a>823 }
|
1424
|
+
</span><span class="uncovered1"><a name="line824"></a>824 end
|
1425
|
+
</span><span class="uncovered0"><a name="line825"></a>825
|
1426
|
+
</span><span class="uncovered1"><a name="line826"></a>826 def test_00_06
|
1427
|
+
</span><span class="uncovered0"><a name="line827"></a>827 expected = <<'End'.chomp
|
1428
|
+
</span><span class="uncovered1"><a name="line828"></a>828 abc
|
1429
|
+
</span><span class="uncovered0"><a name="line829"></a>829 def
|
1430
|
+
</span><span class="uncovered1"><a name="line830"></a>830 ghi
|
1431
|
+
</span><span class="uncovered0"><a name="line831"></a>831 jkl
|
1432
|
+
</span><span class="uncovered1"><a name="line832"></a>832 mno
|
1433
|
+
</span><span class="uncovered0"><a name="line833"></a>833 pqr
|
1434
|
+
</span><span class="uncovered1"><a name="line834"></a>834 stu
|
1435
|
+
</span><span class="uncovered0"><a name="line835"></a>835 End
|
1436
|
+
</span><span class="uncovered1"><a name="line836"></a>836 assert_equal(expected, format(0))
|
1437
|
+
</span><span class="uncovered0"><a name="line837"></a>837 assert_equal(expected, format(6))
|
1438
|
+
</span><span class="uncovered1"><a name="line838"></a>838 end
|
1439
|
+
</span><span class="uncovered0"><a name="line839"></a>839
|
1440
|
+
</span><span class="uncovered1"><a name="line840"></a>840 def test_07_10
|
1441
|
+
</span><span class="uncovered0"><a name="line841"></a>841 expected = <<'End'.chomp
|
1442
|
+
</span><span class="uncovered1"><a name="line842"></a>842 abc def
|
1443
|
+
</span><span class="uncovered0"><a name="line843"></a>843 ghi jkl
|
1444
|
+
</span><span class="uncovered1"><a name="line844"></a>844 mno pqr
|
1445
|
+
</span><span class="uncovered0"><a name="line845"></a>845 stu
|
1446
|
+
</span><span class="uncovered1"><a name="line846"></a>846 End
|
1447
|
+
</span><span class="uncovered0"><a name="line847"></a>847 assert_equal(expected, format(7))
|
1448
|
+
</span><span class="uncovered1"><a name="line848"></a>848 assert_equal(expected, format(10))
|
1449
|
+
</span><span class="uncovered0"><a name="line849"></a>849 end
|
1450
|
+
</span><span class="uncovered1"><a name="line850"></a>850
|
1451
|
+
</span><span class="uncovered0"><a name="line851"></a>851 def test_11_14
|
1452
|
+
</span><span class="uncovered1"><a name="line852"></a>852 expected = <<'End'.chomp
|
1453
|
+
</span><span class="uncovered0"><a name="line853"></a>853 abc def ghi
|
1454
|
+
</span><span class="uncovered1"><a name="line854"></a>854 jkl mno pqr
|
1455
|
+
</span><span class="uncovered0"><a name="line855"></a>855 stu
|
1456
|
+
</span><span class="uncovered1"><a name="line856"></a>856 End
|
1457
|
+
</span><span class="uncovered0"><a name="line857"></a>857 assert_equal(expected, format(11))
|
1458
|
+
</span><span class="uncovered1"><a name="line858"></a>858 assert_equal(expected, format(14))
|
1459
|
+
</span><span class="uncovered0"><a name="line859"></a>859 end
|
1460
|
+
</span><span class="uncovered1"><a name="line860"></a>860
|
1461
|
+
</span><span class="uncovered0"><a name="line861"></a>861 def test_15_18
|
1462
|
+
</span><span class="uncovered1"><a name="line862"></a>862 expected = <<'End'.chomp
|
1463
|
+
</span><span class="uncovered0"><a name="line863"></a>863 abc def ghi jkl
|
1464
|
+
</span><span class="uncovered1"><a name="line864"></a>864 mno pqr stu
|
1465
|
+
</span><span class="uncovered0"><a name="line865"></a>865 End
|
1466
|
+
</span><span class="uncovered1"><a name="line866"></a>866 assert_equal(expected, format(15))
|
1467
|
+
</span><span class="uncovered0"><a name="line867"></a>867 assert_equal(expected, format(18))
|
1468
|
+
</span><span class="uncovered1"><a name="line868"></a>868 end
|
1469
|
+
</span><span class="uncovered0"><a name="line869"></a>869
|
1470
|
+
</span><span class="uncovered1"><a name="line870"></a>870 def test_19_22
|
1471
|
+
</span><span class="uncovered0"><a name="line871"></a>871 expected = <<'End'.chomp
|
1472
|
+
</span><span class="uncovered1"><a name="line872"></a>872 abc def ghi jkl mno
|
1473
|
+
</span><span class="uncovered0"><a name="line873"></a>873 pqr stu
|
1474
|
+
</span><span class="uncovered1"><a name="line874"></a>874 End
|
1475
|
+
</span><span class="uncovered0"><a name="line875"></a>875 assert_equal(expected, format(19))
|
1476
|
+
</span><span class="uncovered1"><a name="line876"></a>876 assert_equal(expected, format(22))
|
1477
|
+
</span><span class="uncovered0"><a name="line877"></a>877 end
|
1478
|
+
</span><span class="uncovered1"><a name="line878"></a>878
|
1479
|
+
</span><span class="uncovered0"><a name="line879"></a>879 def test_23_26
|
1480
|
+
</span><span class="uncovered1"><a name="line880"></a>880 expected = <<'End'.chomp
|
1481
|
+
</span><span class="uncovered0"><a name="line881"></a>881 abc def ghi jkl mno pqr
|
1482
|
+
</span><span class="uncovered1"><a name="line882"></a>882 stu
|
1483
|
+
</span><span class="uncovered0"><a name="line883"></a>883 End
|
1484
|
+
</span><span class="uncovered1"><a name="line884"></a>884 assert_equal(expected, format(23))
|
1485
|
+
</span><span class="uncovered0"><a name="line885"></a>885 assert_equal(expected, format(26))
|
1486
|
+
</span><span class="uncovered1"><a name="line886"></a>886 end
|
1487
|
+
</span><span class="uncovered0"><a name="line887"></a>887
|
1488
|
+
</span><span class="uncovered1"><a name="line888"></a>888 def test_27
|
1489
|
+
</span><span class="uncovered0"><a name="line889"></a>889 expected = <<'End'.chomp
|
1490
|
+
</span><span class="uncovered1"><a name="line890"></a>890 abc def ghi jkl mno pqr stu
|
1491
|
+
</span><span class="uncovered0"><a name="line891"></a>891 End
|
1492
|
+
</span><span class="uncovered1"><a name="line892"></a>892 assert_equal(expected, format(27))
|
1493
|
+
</span><span class="uncovered0"><a name="line893"></a>893 end
|
1494
|
+
</span><span class="uncovered1"><a name="line894"></a>894
|
1495
|
+
</span><span class="uncovered0"><a name="line895"></a>895 end
|
1496
|
+
</span><span class="uncovered1"><a name="line896"></a>896 end
|
1497
1497
|
</span></pre><hr/>
|
1498
1498
|
<p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
|
1499
1499
|
version 0.8.1.2.</p>
|