regexp-examples 0.3.0 → 0.3.1
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.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/coverage/.resultset.json +77 -74
- data/coverage/index.html +350 -332
- data/lib/regexp-examples/groups.rb +2 -0
- data/lib/regexp-examples/version.rb +1 -1
- data/regexp-examples.gemspec +0 -1
- data/spec/regexp-examples_spec.rb +2 -1
- metadata +2 -2
data/coverage/index.html
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<img src="./assets/0.8.0/loading.gif" alt="loading"/>
|
15
15
|
</div>
|
16
16
|
<div id="wrapper" style="display:none;">
|
17
|
-
<div class="timestamp">Generated <abbr class="timeago" title="2015-01-
|
17
|
+
<div class="timestamp">Generated <abbr class="timeago" title="2015-01-17T19:44:01+00:00">2015-01-17T19:44:01+00:00</abbr></div>
|
18
18
|
<ul class="group_tabs"></ul>
|
19
19
|
|
20
20
|
<div id="content">
|
@@ -25,15 +25,15 @@
|
|
25
25
|
covered at
|
26
26
|
<span class="covered_strength">
|
27
27
|
<span class="green">
|
28
|
-
76.
|
28
|
+
76.73
|
29
29
|
</span>
|
30
30
|
</span> hits/line)
|
31
31
|
</h2>
|
32
32
|
<a name="AllFiles"></a>
|
33
33
|
<div>
|
34
34
|
<b>10</b> files in total.
|
35
|
-
<b>
|
36
|
-
<span class="green"><b>
|
35
|
+
<b>344</b> relevant lines.
|
36
|
+
<span class="green"><b>344</b> lines covered</span> and
|
37
37
|
<span class="red"><b>0</b> lines missed </span>
|
38
38
|
</div>
|
39
39
|
<table class="file_list">
|
@@ -67,7 +67,7 @@
|
|
67
67
|
<td>11</td>
|
68
68
|
<td>11</td>
|
69
69
|
<td>0</td>
|
70
|
-
<td>50.
|
70
|
+
<td>50.6</td>
|
71
71
|
</tr>
|
72
72
|
|
73
73
|
<tr>
|
@@ -93,11 +93,11 @@
|
|
93
93
|
<tr>
|
94
94
|
<td class="strong"><a href="#a6c87537a3f20f2e6e7fc1c61e4c6c791987b6f8" class="src_link" title="lib/regexp-examples/groups.rb">lib/regexp-examples/groups.rb</a></td>
|
95
95
|
<td class="green strong">100.0 %</td>
|
96
|
-
<td>
|
97
|
-
<td>
|
98
|
-
<td>
|
96
|
+
<td>147</td>
|
97
|
+
<td>78</td>
|
98
|
+
<td>78</td>
|
99
99
|
<td>0</td>
|
100
|
-
<td>
|
100
|
+
<td>154.9</td>
|
101
101
|
</tr>
|
102
102
|
|
103
103
|
<tr>
|
@@ -107,7 +107,7 @@
|
|
107
107
|
<td>10</td>
|
108
108
|
<td>10</td>
|
109
109
|
<td>0</td>
|
110
|
-
<td>
|
110
|
+
<td>189.0</td>
|
111
111
|
</tr>
|
112
112
|
|
113
113
|
<tr>
|
@@ -117,7 +117,7 @@
|
|
117
117
|
<td>135</td>
|
118
118
|
<td>135</td>
|
119
119
|
<td>0</td>
|
120
|
-
<td>56.
|
120
|
+
<td>56.4</td>
|
121
121
|
</tr>
|
122
122
|
|
123
123
|
<tr>
|
@@ -127,7 +127,7 @@
|
|
127
127
|
<td>8</td>
|
128
128
|
<td>8</td>
|
129
129
|
<td>0</td>
|
130
|
-
<td>51.
|
130
|
+
<td>51.5</td>
|
131
131
|
</tr>
|
132
132
|
|
133
133
|
<tr>
|
@@ -137,17 +137,17 @@
|
|
137
137
|
<td>43</td>
|
138
138
|
<td>43</td>
|
139
139
|
<td>0</td>
|
140
|
-
<td>73.
|
140
|
+
<td>73.8</td>
|
141
141
|
</tr>
|
142
142
|
|
143
143
|
<tr>
|
144
144
|
<td class="strong"><a href="#953f94f8f5f8bad7e1fa800f942a74b781f8fa1c" class="src_link" title="spec/regexp-examples_spec.rb">spec/regexp-examples_spec.rb</a></td>
|
145
145
|
<td class="green strong">100.0 %</td>
|
146
|
-
<td>
|
146
|
+
<td>193</td>
|
147
147
|
<td>42</td>
|
148
148
|
<td>42</td>
|
149
149
|
<td>0</td>
|
150
|
-
<td>13.
|
150
|
+
<td>13.6</td>
|
151
151
|
</tr>
|
152
152
|
|
153
153
|
</tbody>
|
@@ -228,14 +228,14 @@
|
|
228
228
|
<code class="ruby"> def substitute_backreferences(full_examples)</code>
|
229
229
|
</li>
|
230
230
|
|
231
|
-
<li class="covered" data-hits="
|
232
|
-
<span class="hits">
|
231
|
+
<li class="covered" data-hits="76" data-linenumber="4">
|
232
|
+
<span class="hits">76</span>
|
233
233
|
|
234
234
|
<code class="ruby"> full_examples.map do |full_example|</code>
|
235
235
|
</li>
|
236
236
|
|
237
|
-
<li class="covered" data-hits="
|
238
|
-
<span class="hits">
|
237
|
+
<li class="covered" data-hits="172" data-linenumber="5">
|
238
|
+
<span class="hits">172</span>
|
239
239
|
|
240
240
|
<code class="ruby"> while full_example.match(/__(\w+?)__/)</code>
|
241
241
|
</li>
|
@@ -252,8 +252,8 @@
|
|
252
252
|
<code class="ruby"> end</code>
|
253
253
|
</li>
|
254
254
|
|
255
|
-
<li class="covered" data-hits="
|
256
|
-
<span class="hits">
|
255
|
+
<li class="covered" data-hits="172" data-linenumber="8">
|
256
|
+
<span class="hits">172</span>
|
257
257
|
|
258
258
|
<code class="ruby"> full_example</code>
|
259
259
|
</li>
|
@@ -663,8 +663,8 @@
|
|
663
663
|
<h3>lib/regexp-examples/groups.rb</h3>
|
664
664
|
<h4><span class="green">100.0 %</span> covered</h4>
|
665
665
|
<div>
|
666
|
-
<b>
|
667
|
-
<span class="green"><b>
|
666
|
+
<b>78</b> relevant lines.
|
667
|
+
<span class="green"><b>78</b> lines covered</span> and
|
668
668
|
<span class="red"><b>0</b> lines missed.</span>
|
669
669
|
</div>
|
670
670
|
</div>
|
@@ -714,20 +714,20 @@
|
|
714
714
|
<code class="ruby"> def initialize(result, group_id = nil, subgroups = [])</code>
|
715
715
|
</li>
|
716
716
|
|
717
|
-
<li class="covered" data-hits="
|
718
|
-
<span class="hits">
|
717
|
+
<li class="covered" data-hits="1760" data-linenumber="8">
|
718
|
+
<span class="hits">1760</span>
|
719
719
|
|
720
720
|
<code class="ruby"> @group_id = group_id</code>
|
721
721
|
</li>
|
722
722
|
|
723
|
-
<li class="covered" data-hits="
|
724
|
-
<span class="hits">
|
723
|
+
<li class="covered" data-hits="1760" data-linenumber="9">
|
724
|
+
<span class="hits">1760</span>
|
725
725
|
|
726
726
|
<code class="ruby"> @subgroups = subgroups</code>
|
727
727
|
</li>
|
728
728
|
|
729
|
-
<li class="covered" data-hits="
|
730
|
-
<span class="hits">
|
729
|
+
<li class="covered" data-hits="1760" data-linenumber="10">
|
730
|
+
<span class="hits">1760</span>
|
731
731
|
|
732
732
|
<code class="ruby"> if result.respond_to?(:group_id)</code>
|
733
733
|
</li>
|
@@ -744,8 +744,8 @@
|
|
744
744
|
<code class="ruby"> end</code>
|
745
745
|
</li>
|
746
746
|
|
747
|
-
<li class="covered" data-hits="
|
748
|
-
<span class="hits">
|
747
|
+
<li class="covered" data-hits="1760" data-linenumber="13">
|
748
|
+
<span class="hits">1760</span>
|
749
749
|
|
750
750
|
<code class="ruby"> super(result)</code>
|
751
751
|
</li>
|
@@ -804,8 +804,8 @@
|
|
804
804
|
<code class="ruby"> def *(int)</code>
|
805
805
|
</li>
|
806
806
|
|
807
|
-
<li class="covered" data-hits="
|
808
|
-
<span class="hits">
|
807
|
+
<li class="covered" data-hits="464" data-linenumber="23">
|
808
|
+
<span class="hits">464</span>
|
809
809
|
|
810
810
|
<code class="ruby"> self.class.new(super.to_s, group_id, subgroups)</code>
|
811
811
|
</li>
|
@@ -894,14 +894,14 @@
|
|
894
894
|
<code class="ruby"> def initialize(chars)</code>
|
895
895
|
</li>
|
896
896
|
|
897
|
-
<li class="covered" data-hits="
|
898
|
-
<span class="hits">
|
897
|
+
<li class="covered" data-hits="29" data-linenumber="38">
|
898
|
+
<span class="hits">29</span>
|
899
899
|
|
900
900
|
<code class="ruby"> @chars = chars</code>
|
901
901
|
</li>
|
902
902
|
|
903
|
-
<li class="covered" data-hits="
|
904
|
-
<span class="hits">
|
903
|
+
<li class="covered" data-hits="29" data-linenumber="39">
|
904
|
+
<span class="hits">29</span>
|
905
905
|
|
906
906
|
<code class="ruby"> if chars[0] == "^"</code>
|
907
907
|
</li>
|
@@ -924,8 +924,8 @@
|
|
924
924
|
<code class="ruby"> else</code>
|
925
925
|
</li>
|
926
926
|
|
927
|
-
<li class="covered" data-hits="
|
928
|
-
<span class="hits">
|
927
|
+
<li class="covered" data-hits="28" data-linenumber="43">
|
928
|
+
<span class="hits">28</span>
|
929
929
|
|
930
930
|
<code class="ruby"> @negative = false</code>
|
931
931
|
</li>
|
@@ -942,14 +942,14 @@
|
|
942
942
|
<code class="ruby"></code>
|
943
943
|
</li>
|
944
944
|
|
945
|
-
<li class="covered" data-hits="
|
946
|
-
<span class="hits">
|
945
|
+
<li class="covered" data-hits="29" data-linenumber="46">
|
946
|
+
<span class="hits">29</span>
|
947
947
|
|
948
948
|
<code class="ruby"> init_backslash_chars</code>
|
949
949
|
</li>
|
950
950
|
|
951
|
-
<li class="covered" data-hits="
|
952
|
-
<span class="hits">
|
951
|
+
<li class="covered" data-hits="29" data-linenumber="47">
|
952
|
+
<span class="hits">29</span>
|
953
953
|
|
954
954
|
<code class="ruby"> init_ranges</code>
|
955
955
|
</li>
|
@@ -978,26 +978,26 @@
|
|
978
978
|
<code class="ruby"> # save first and last "-" if present</code>
|
979
979
|
</li>
|
980
980
|
|
981
|
-
<li class="covered" data-hits="
|
982
|
-
<span class="hits">
|
981
|
+
<li class="covered" data-hits="29" data-linenumber="52">
|
982
|
+
<span class="hits">29</span>
|
983
983
|
|
984
984
|
<code class="ruby"> first = nil</code>
|
985
985
|
</li>
|
986
986
|
|
987
|
-
<li class="covered" data-hits="
|
988
|
-
<span class="hits">
|
987
|
+
<li class="covered" data-hits="29" data-linenumber="53">
|
988
|
+
<span class="hits">29</span>
|
989
989
|
|
990
990
|
<code class="ruby"> last = nil</code>
|
991
991
|
</li>
|
992
992
|
|
993
|
-
<li class="covered" data-hits="
|
994
|
-
<span class="hits">
|
993
|
+
<li class="covered" data-hits="29" data-linenumber="54">
|
994
|
+
<span class="hits">29</span>
|
995
995
|
|
996
996
|
<code class="ruby"> first = @chars.shift if @chars.first == "-"</code>
|
997
997
|
</li>
|
998
998
|
|
999
|
-
<li class="covered" data-hits="
|
1000
|
-
<span class="hits">
|
999
|
+
<li class="covered" data-hits="29" data-linenumber="55">
|
1000
|
+
<span class="hits">29</span>
|
1001
1001
|
|
1002
1002
|
<code class="ruby"> last = @chars.pop if @chars.last == "-"</code>
|
1003
1003
|
</li>
|
@@ -1008,8 +1008,8 @@
|
|
1008
1008
|
<code class="ruby"> # Replace all instances of e.g. ["a" "-" "z"] with ["a", "b", ..., "z"]</code>
|
1009
1009
|
</li>
|
1010
1010
|
|
1011
|
-
<li class="covered" data-hits="
|
1012
|
-
<span class="hits">
|
1011
|
+
<li class="covered" data-hits="29" data-linenumber="57">
|
1012
|
+
<span class="hits">29</span>
|
1013
1013
|
|
1014
1014
|
<code class="ruby"> while i = @chars.index("-")</code>
|
1015
1015
|
</li>
|
@@ -1032,14 +1032,14 @@
|
|
1032
1032
|
<code class="ruby"> # restore them back</code>
|
1033
1033
|
</li>
|
1034
1034
|
|
1035
|
-
<li class="covered" data-hits="
|
1036
|
-
<span class="hits">
|
1035
|
+
<li class="covered" data-hits="29" data-linenumber="61">
|
1036
|
+
<span class="hits">29</span>
|
1037
1037
|
|
1038
1038
|
<code class="ruby"> @chars.unshift(first) if first</code>
|
1039
1039
|
</li>
|
1040
1040
|
|
1041
|
-
<li class="covered" data-hits="
|
1042
|
-
<span class="hits">
|
1041
|
+
<li class="covered" data-hits="29" data-linenumber="62">
|
1042
|
+
<span class="hits">29</span>
|
1043
1043
|
|
1044
1044
|
<code class="ruby"> @chars.push(last) if last</code>
|
1045
1045
|
</li>
|
@@ -1062,20 +1062,20 @@
|
|
1062
1062
|
<code class="ruby"> def init_backslash_chars</code>
|
1063
1063
|
</li>
|
1064
1064
|
|
1065
|
-
<li class="covered" data-hits="
|
1066
|
-
<span class="hits">
|
1065
|
+
<li class="covered" data-hits="29" data-linenumber="66">
|
1066
|
+
<span class="hits">29</span>
|
1067
1067
|
|
1068
1068
|
<code class="ruby"> @chars.each_with_index do |char, i|</code>
|
1069
1069
|
</li>
|
1070
1070
|
|
1071
|
-
<li class="covered" data-hits="
|
1072
|
-
<span class="hits">
|
1071
|
+
<li class="covered" data-hits="541" data-linenumber="67">
|
1072
|
+
<span class="hits">541</span>
|
1073
1073
|
|
1074
1074
|
<code class="ruby"> if char == "\\"</code>
|
1075
1075
|
</li>
|
1076
1076
|
|
1077
|
-
<li class="covered" data-hits="
|
1078
|
-
<span class="hits">
|
1077
|
+
<li class="covered" data-hits="14" data-linenumber="68">
|
1078
|
+
<span class="hits">14</span>
|
1079
1079
|
|
1080
1080
|
<code class="ruby"> if BackslashCharMap.keys.include?(@chars[i+1])</code>
|
1081
1081
|
</li>
|
@@ -1089,454 +1089,466 @@
|
|
1089
1089
|
<li class="never" data-hits="" data-linenumber="70">
|
1090
1090
|
|
1091
1091
|
|
1092
|
+
<code class="ruby"> elsif @chars[i+1] == 'b'</code>
|
1093
|
+
</li>
|
1094
|
+
|
1095
|
+
<li class="covered" data-hits="1" data-linenumber="71">
|
1096
|
+
<span class="hits">1</span>
|
1097
|
+
|
1098
|
+
<code class="ruby"> @chars[i..i+1] = "\b"</code>
|
1099
|
+
</li>
|
1100
|
+
|
1101
|
+
<li class="never" data-hits="" data-linenumber="72">
|
1102
|
+
|
1103
|
+
|
1092
1104
|
<code class="ruby"> elsif @chars[i+1] == "\\"</code>
|
1093
1105
|
</li>
|
1094
1106
|
|
1095
|
-
<li class="covered" data-hits="2" data-linenumber="
|
1107
|
+
<li class="covered" data-hits="2" data-linenumber="73">
|
1096
1108
|
<span class="hits">2</span>
|
1097
1109
|
|
1098
1110
|
<code class="ruby"> @chars.delete_at(i+1)</code>
|
1099
1111
|
</li>
|
1100
1112
|
|
1101
|
-
<li class="never" data-hits="" data-linenumber="
|
1113
|
+
<li class="never" data-hits="" data-linenumber="74">
|
1102
1114
|
|
1103
1115
|
|
1104
1116
|
<code class="ruby"> else</code>
|
1105
1117
|
</li>
|
1106
1118
|
|
1107
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1119
|
+
<li class="covered" data-hits="7" data-linenumber="75">
|
1108
1120
|
<span class="hits">7</span>
|
1109
1121
|
|
1110
1122
|
<code class="ruby"> @chars.delete_at(i)</code>
|
1111
1123
|
</li>
|
1112
1124
|
|
1113
|
-
<li class="never" data-hits="" data-linenumber="
|
1125
|
+
<li class="never" data-hits="" data-linenumber="76">
|
1114
1126
|
|
1115
1127
|
|
1116
1128
|
<code class="ruby"> end</code>
|
1117
1129
|
</li>
|
1118
1130
|
|
1119
|
-
<li class="never" data-hits="" data-linenumber="
|
1131
|
+
<li class="never" data-hits="" data-linenumber="77">
|
1120
1132
|
|
1121
1133
|
|
1122
1134
|
<code class="ruby"> end</code>
|
1123
1135
|
</li>
|
1124
1136
|
|
1125
|
-
<li class="never" data-hits="" data-linenumber="
|
1137
|
+
<li class="never" data-hits="" data-linenumber="78">
|
1126
1138
|
|
1127
1139
|
|
1128
1140
|
<code class="ruby"> end</code>
|
1129
1141
|
</li>
|
1130
1142
|
|
1131
|
-
<li class="never" data-hits="" data-linenumber="
|
1143
|
+
<li class="never" data-hits="" data-linenumber="79">
|
1132
1144
|
|
1133
1145
|
|
1134
1146
|
<code class="ruby"> end</code>
|
1135
1147
|
</li>
|
1136
1148
|
|
1137
|
-
<li class="never" data-hits="" data-linenumber="
|
1149
|
+
<li class="never" data-hits="" data-linenumber="80">
|
1138
1150
|
|
1139
1151
|
|
1140
1152
|
<code class="ruby"></code>
|
1141
1153
|
</li>
|
1142
1154
|
|
1143
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1155
|
+
<li class="covered" data-hits="1" data-linenumber="81">
|
1144
1156
|
<span class="hits">1</span>
|
1145
1157
|
|
1146
1158
|
<code class="ruby"> def result</code>
|
1147
1159
|
</li>
|
1148
1160
|
|
1149
|
-
<li class="covered" data-hits="
|
1150
|
-
<span class="hits">
|
1161
|
+
<li class="covered" data-hits="29" data-linenumber="82">
|
1162
|
+
<span class="hits">29</span>
|
1151
1163
|
|
1152
1164
|
<code class="ruby"> (@negative ? (CharSets::Any - @chars) : @chars).map do |result|</code>
|
1153
1165
|
</li>
|
1154
1166
|
|
1155
|
-
<li class="covered" data-hits="
|
1156
|
-
<span class="hits">
|
1167
|
+
<li class="covered" data-hits="573" data-linenumber="83">
|
1168
|
+
<span class="hits">573</span>
|
1157
1169
|
|
1158
1170
|
<code class="ruby"> GroupResult.new(result)</code>
|
1159
1171
|
</li>
|
1160
1172
|
|
1161
|
-
<li class="never" data-hits="" data-linenumber="
|
1173
|
+
<li class="never" data-hits="" data-linenumber="84">
|
1162
1174
|
|
1163
1175
|
|
1164
1176
|
<code class="ruby"> end</code>
|
1165
1177
|
</li>
|
1166
1178
|
|
1167
|
-
<li class="never" data-hits="" data-linenumber="
|
1179
|
+
<li class="never" data-hits="" data-linenumber="85">
|
1168
1180
|
|
1169
1181
|
|
1170
1182
|
<code class="ruby"> end</code>
|
1171
1183
|
</li>
|
1172
1184
|
|
1173
|
-
<li class="never" data-hits="" data-linenumber="
|
1185
|
+
<li class="never" data-hits="" data-linenumber="86">
|
1174
1186
|
|
1175
1187
|
|
1176
1188
|
<code class="ruby"> end</code>
|
1177
1189
|
</li>
|
1178
1190
|
|
1179
|
-
<li class="never" data-hits="" data-linenumber="
|
1191
|
+
<li class="never" data-hits="" data-linenumber="87">
|
1180
1192
|
|
1181
1193
|
|
1182
1194
|
<code class="ruby"></code>
|
1183
1195
|
</li>
|
1184
1196
|
|
1185
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1197
|
+
<li class="covered" data-hits="1" data-linenumber="88">
|
1186
1198
|
<span class="hits">1</span>
|
1187
1199
|
|
1188
1200
|
<code class="ruby"> class DotGroup</code>
|
1189
1201
|
</li>
|
1190
1202
|
|
1191
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1203
|
+
<li class="covered" data-hits="1" data-linenumber="89">
|
1192
1204
|
<span class="hits">1</span>
|
1193
1205
|
|
1194
1206
|
<code class="ruby"> def result</code>
|
1195
1207
|
</li>
|
1196
1208
|
|
1197
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1209
|
+
<li class="covered" data-hits="1" data-linenumber="90">
|
1198
1210
|
<span class="hits">1</span>
|
1199
1211
|
|
1200
1212
|
<code class="ruby"> CharSets::Any.map do |result|</code>
|
1201
1213
|
</li>
|
1202
1214
|
|
1203
|
-
<li class="covered" data-hits="94" data-linenumber="
|
1215
|
+
<li class="covered" data-hits="94" data-linenumber="91">
|
1204
1216
|
<span class="hits">94</span>
|
1205
1217
|
|
1206
1218
|
<code class="ruby"> GroupResult.new(result)</code>
|
1207
1219
|
</li>
|
1208
1220
|
|
1209
|
-
<li class="never" data-hits="" data-linenumber="
|
1221
|
+
<li class="never" data-hits="" data-linenumber="92">
|
1210
1222
|
|
1211
1223
|
|
1212
1224
|
<code class="ruby"> end</code>
|
1213
1225
|
</li>
|
1214
1226
|
|
1215
|
-
<li class="never" data-hits="" data-linenumber="
|
1227
|
+
<li class="never" data-hits="" data-linenumber="93">
|
1216
1228
|
|
1217
1229
|
|
1218
1230
|
<code class="ruby"> end</code>
|
1219
1231
|
</li>
|
1220
1232
|
|
1221
|
-
<li class="never" data-hits="" data-linenumber="
|
1233
|
+
<li class="never" data-hits="" data-linenumber="94">
|
1222
1234
|
|
1223
1235
|
|
1224
1236
|
<code class="ruby"> end</code>
|
1225
1237
|
</li>
|
1226
1238
|
|
1227
|
-
<li class="never" data-hits="" data-linenumber="
|
1239
|
+
<li class="never" data-hits="" data-linenumber="95">
|
1228
1240
|
|
1229
1241
|
|
1230
1242
|
<code class="ruby"></code>
|
1231
1243
|
</li>
|
1232
1244
|
|
1233
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1245
|
+
<li class="covered" data-hits="1" data-linenumber="96">
|
1234
1246
|
<span class="hits">1</span>
|
1235
1247
|
|
1236
1248
|
<code class="ruby"> class MultiGroup</code>
|
1237
1249
|
</li>
|
1238
1250
|
|
1239
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1251
|
+
<li class="covered" data-hits="1" data-linenumber="97">
|
1240
1252
|
<span class="hits">1</span>
|
1241
1253
|
|
1242
1254
|
<code class="ruby"> attr_reader :group_id</code>
|
1243
1255
|
</li>
|
1244
1256
|
|
1245
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1257
|
+
<li class="covered" data-hits="1" data-linenumber="98">
|
1246
1258
|
<span class="hits">1</span>
|
1247
1259
|
|
1248
1260
|
<code class="ruby"> def initialize(groups, group_id)</code>
|
1249
1261
|
</li>
|
1250
1262
|
|
1251
|
-
<li class="covered" data-hits="41" data-linenumber="
|
1263
|
+
<li class="covered" data-hits="41" data-linenumber="99">
|
1252
1264
|
<span class="hits">41</span>
|
1253
1265
|
|
1254
1266
|
<code class="ruby"> @groups = groups</code>
|
1255
1267
|
</li>
|
1256
1268
|
|
1257
|
-
<li class="covered" data-hits="41" data-linenumber="
|
1269
|
+
<li class="covered" data-hits="41" data-linenumber="100">
|
1258
1270
|
<span class="hits">41</span>
|
1259
1271
|
|
1260
1272
|
<code class="ruby"> @group_id = group_id</code>
|
1261
1273
|
</li>
|
1262
1274
|
|
1263
|
-
<li class="never" data-hits="" data-linenumber="
|
1275
|
+
<li class="never" data-hits="" data-linenumber="101">
|
1264
1276
|
|
1265
1277
|
|
1266
1278
|
<code class="ruby"> end</code>
|
1267
1279
|
</li>
|
1268
1280
|
|
1269
|
-
<li class="never" data-hits="" data-linenumber="
|
1281
|
+
<li class="never" data-hits="" data-linenumber="102">
|
1270
1282
|
|
1271
1283
|
|
1272
1284
|
<code class="ruby"></code>
|
1273
1285
|
</li>
|
1274
1286
|
|
1275
|
-
<li class="never" data-hits="" data-linenumber="
|
1287
|
+
<li class="never" data-hits="" data-linenumber="103">
|
1276
1288
|
|
1277
1289
|
|
1278
1290
|
<code class="ruby"> # Generates the result of each contained group</code>
|
1279
1291
|
</li>
|
1280
1292
|
|
1281
|
-
<li class="never" data-hits="" data-linenumber="
|
1293
|
+
<li class="never" data-hits="" data-linenumber="104">
|
1282
1294
|
|
1283
1295
|
|
1284
1296
|
<code class="ruby"> # and adds the filled group of each result to</code>
|
1285
1297
|
</li>
|
1286
1298
|
|
1287
|
-
<li class="never" data-hits="" data-linenumber="
|
1299
|
+
<li class="never" data-hits="" data-linenumber="105">
|
1288
1300
|
|
1289
1301
|
|
1290
1302
|
<code class="ruby"> # itself</code>
|
1291
1303
|
</li>
|
1292
1304
|
|
1293
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1305
|
+
<li class="covered" data-hits="1" data-linenumber="106">
|
1294
1306
|
<span class="hits">1</span>
|
1295
1307
|
|
1296
1308
|
<code class="ruby"> def result</code>
|
1297
1309
|
</li>
|
1298
1310
|
|
1299
|
-
<li class="covered" data-hits="186" data-linenumber="
|
1311
|
+
<li class="covered" data-hits="186" data-linenumber="107">
|
1300
1312
|
<span class="hits">186</span>
|
1301
1313
|
|
1302
1314
|
<code class="ruby"> strings = @groups.map {|repeater| repeater.result}</code>
|
1303
1315
|
</li>
|
1304
1316
|
|
1305
|
-
<li class="covered" data-hits="41" data-linenumber="
|
1317
|
+
<li class="covered" data-hits="41" data-linenumber="108">
|
1306
1318
|
<span class="hits">41</span>
|
1307
1319
|
|
1308
1320
|
<code class="ruby"> RegexpExamples::permutations_of_strings(strings).map do |result|</code>
|
1309
1321
|
</li>
|
1310
1322
|
|
1311
|
-
<li class="covered" data-hits="101" data-linenumber="
|
1323
|
+
<li class="covered" data-hits="101" data-linenumber="109">
|
1312
1324
|
<span class="hits">101</span>
|
1313
1325
|
|
1314
1326
|
<code class="ruby"> GroupResult.new(result, group_id)</code>
|
1315
1327
|
</li>
|
1316
1328
|
|
1317
|
-
<li class="never" data-hits="" data-linenumber="
|
1329
|
+
<li class="never" data-hits="" data-linenumber="110">
|
1318
1330
|
|
1319
1331
|
|
1320
1332
|
<code class="ruby"> end</code>
|
1321
1333
|
</li>
|
1322
1334
|
|
1323
|
-
<li class="never" data-hits="" data-linenumber="
|
1335
|
+
<li class="never" data-hits="" data-linenumber="111">
|
1324
1336
|
|
1325
1337
|
|
1326
1338
|
<code class="ruby"> end</code>
|
1327
1339
|
</li>
|
1328
1340
|
|
1329
|
-
<li class="never" data-hits="" data-linenumber="
|
1341
|
+
<li class="never" data-hits="" data-linenumber="112">
|
1330
1342
|
|
1331
1343
|
|
1332
1344
|
<code class="ruby"> end</code>
|
1333
1345
|
</li>
|
1334
1346
|
|
1335
|
-
<li class="never" data-hits="" data-linenumber="
|
1347
|
+
<li class="never" data-hits="" data-linenumber="113">
|
1336
1348
|
|
1337
1349
|
|
1338
1350
|
<code class="ruby"></code>
|
1339
1351
|
</li>
|
1340
1352
|
|
1341
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1353
|
+
<li class="covered" data-hits="1" data-linenumber="114">
|
1342
1354
|
<span class="hits">1</span>
|
1343
1355
|
|
1344
1356
|
<code class="ruby"> class MultiGroupEnd</code>
|
1345
1357
|
</li>
|
1346
1358
|
|
1347
|
-
<li class="never" data-hits="" data-linenumber="
|
1359
|
+
<li class="never" data-hits="" data-linenumber="115">
|
1348
1360
|
|
1349
1361
|
|
1350
1362
|
<code class="ruby"> end</code>
|
1351
1363
|
</li>
|
1352
1364
|
|
1353
|
-
<li class="never" data-hits="" data-linenumber="
|
1365
|
+
<li class="never" data-hits="" data-linenumber="116">
|
1354
1366
|
|
1355
1367
|
|
1356
1368
|
<code class="ruby"></code>
|
1357
1369
|
</li>
|
1358
1370
|
|
1359
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1371
|
+
<li class="covered" data-hits="1" data-linenumber="117">
|
1360
1372
|
<span class="hits">1</span>
|
1361
1373
|
|
1362
1374
|
<code class="ruby"> class OrGroup</code>
|
1363
1375
|
</li>
|
1364
1376
|
|
1365
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1377
|
+
<li class="covered" data-hits="1" data-linenumber="118">
|
1366
1378
|
<span class="hits">1</span>
|
1367
1379
|
|
1368
1380
|
<code class="ruby"> def initialize(left_repeaters, right_repeaters)</code>
|
1369
1381
|
</li>
|
1370
1382
|
|
1371
|
-
<li class="covered" data-hits="6" data-linenumber="
|
1383
|
+
<li class="covered" data-hits="6" data-linenumber="119">
|
1372
1384
|
<span class="hits">6</span>
|
1373
1385
|
|
1374
1386
|
<code class="ruby"> @left_repeaters = left_repeaters</code>
|
1375
1387
|
</li>
|
1376
1388
|
|
1377
|
-
<li class="covered" data-hits="6" data-linenumber="
|
1389
|
+
<li class="covered" data-hits="6" data-linenumber="120">
|
1378
1390
|
<span class="hits">6</span>
|
1379
1391
|
|
1380
1392
|
<code class="ruby"> @right_repeaters = right_repeaters</code>
|
1381
1393
|
</li>
|
1382
1394
|
|
1383
|
-
<li class="never" data-hits="" data-linenumber="
|
1395
|
+
<li class="never" data-hits="" data-linenumber="121">
|
1384
1396
|
|
1385
1397
|
|
1386
1398
|
<code class="ruby"> end</code>
|
1387
1399
|
</li>
|
1388
1400
|
|
1389
|
-
<li class="never" data-hits="" data-linenumber="
|
1401
|
+
<li class="never" data-hits="" data-linenumber="122">
|
1390
1402
|
|
1391
1403
|
|
1392
1404
|
<code class="ruby"></code>
|
1393
1405
|
</li>
|
1394
1406
|
|
1395
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1407
|
+
<li class="covered" data-hits="1" data-linenumber="123">
|
1396
1408
|
<span class="hits">1</span>
|
1397
1409
|
|
1398
1410
|
<code class="ruby"> def result</code>
|
1399
1411
|
</li>
|
1400
1412
|
|
1401
|
-
<li class="covered" data-hits="6" data-linenumber="
|
1413
|
+
<li class="covered" data-hits="6" data-linenumber="124">
|
1402
1414
|
<span class="hits">6</span>
|
1403
1415
|
|
1404
1416
|
<code class="ruby"> left_result = @left_repeaters.map do |repeater|</code>
|
1405
1417
|
</li>
|
1406
1418
|
|
1407
|
-
<li class="covered" data-hits="6" data-linenumber="
|
1419
|
+
<li class="covered" data-hits="6" data-linenumber="125">
|
1408
1420
|
<span class="hits">6</span>
|
1409
1421
|
|
1410
1422
|
<code class="ruby"> RegexpExamples::permutations_of_strings([repeater.result])</code>
|
1411
1423
|
</li>
|
1412
1424
|
|
1413
|
-
<li class="never" data-hits="" data-linenumber="
|
1425
|
+
<li class="never" data-hits="" data-linenumber="126">
|
1414
1426
|
|
1415
1427
|
|
1416
1428
|
<code class="ruby"> end</code>
|
1417
1429
|
</li>
|
1418
1430
|
|
1419
|
-
<li class="covered" data-hits="6" data-linenumber="
|
1431
|
+
<li class="covered" data-hits="6" data-linenumber="127">
|
1420
1432
|
<span class="hits">6</span>
|
1421
1433
|
|
1422
1434
|
<code class="ruby"> right_result = @right_repeaters.map do |repeater|</code>
|
1423
1435
|
</li>
|
1424
1436
|
|
1425
|
-
<li class="covered" data-hits="6" data-linenumber="
|
1437
|
+
<li class="covered" data-hits="6" data-linenumber="128">
|
1426
1438
|
<span class="hits">6</span>
|
1427
1439
|
|
1428
1440
|
<code class="ruby"> RegexpExamples::permutations_of_strings([repeater.result])</code>
|
1429
1441
|
</li>
|
1430
1442
|
|
1431
|
-
<li class="never" data-hits="" data-linenumber="
|
1443
|
+
<li class="never" data-hits="" data-linenumber="129">
|
1432
1444
|
|
1433
1445
|
|
1434
1446
|
<code class="ruby"> end</code>
|
1435
1447
|
</li>
|
1436
1448
|
|
1437
|
-
<li class="covered" data-hits="6" data-linenumber="
|
1449
|
+
<li class="covered" data-hits="6" data-linenumber="130">
|
1438
1450
|
<span class="hits">6</span>
|
1439
1451
|
|
1440
1452
|
<code class="ruby"> left_result.concat(right_result).flatten.uniq.map do |result|</code>
|
1441
1453
|
</li>
|
1442
1454
|
|
1443
|
-
<li class="covered" data-hits="21" data-linenumber="
|
1455
|
+
<li class="covered" data-hits="21" data-linenumber="131">
|
1444
1456
|
<span class="hits">21</span>
|
1445
1457
|
|
1446
1458
|
<code class="ruby"> GroupResult.new(result)</code>
|
1447
1459
|
</li>
|
1448
1460
|
|
1449
|
-
<li class="never" data-hits="" data-linenumber="
|
1461
|
+
<li class="never" data-hits="" data-linenumber="132">
|
1450
1462
|
|
1451
1463
|
|
1452
1464
|
<code class="ruby"> end</code>
|
1453
1465
|
</li>
|
1454
1466
|
|
1455
|
-
<li class="never" data-hits="" data-linenumber="
|
1467
|
+
<li class="never" data-hits="" data-linenumber="133">
|
1456
1468
|
|
1457
1469
|
|
1458
1470
|
<code class="ruby"> end</code>
|
1459
1471
|
</li>
|
1460
1472
|
|
1461
|
-
<li class="never" data-hits="" data-linenumber="
|
1473
|
+
<li class="never" data-hits="" data-linenumber="134">
|
1462
1474
|
|
1463
1475
|
|
1464
1476
|
<code class="ruby"> end</code>
|
1465
1477
|
</li>
|
1466
1478
|
|
1467
|
-
<li class="never" data-hits="" data-linenumber="
|
1479
|
+
<li class="never" data-hits="" data-linenumber="135">
|
1468
1480
|
|
1469
1481
|
|
1470
1482
|
<code class="ruby"></code>
|
1471
1483
|
</li>
|
1472
1484
|
|
1473
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1485
|
+
<li class="covered" data-hits="1" data-linenumber="136">
|
1474
1486
|
<span class="hits">1</span>
|
1475
1487
|
|
1476
1488
|
<code class="ruby"> class BackReferenceGroup</code>
|
1477
1489
|
</li>
|
1478
1490
|
|
1479
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1491
|
+
<li class="covered" data-hits="1" data-linenumber="137">
|
1480
1492
|
<span class="hits">1</span>
|
1481
1493
|
|
1482
1494
|
<code class="ruby"> attr_reader :id</code>
|
1483
1495
|
</li>
|
1484
1496
|
|
1485
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1497
|
+
<li class="covered" data-hits="1" data-linenumber="138">
|
1486
1498
|
<span class="hits">1</span>
|
1487
1499
|
|
1488
1500
|
<code class="ruby"> def initialize(id)</code>
|
1489
1501
|
</li>
|
1490
1502
|
|
1491
|
-
<li class="covered" data-hits="20" data-linenumber="
|
1503
|
+
<li class="covered" data-hits="20" data-linenumber="139">
|
1492
1504
|
<span class="hits">20</span>
|
1493
1505
|
|
1494
1506
|
<code class="ruby"> @id = id</code>
|
1495
1507
|
</li>
|
1496
1508
|
|
1497
|
-
<li class="never" data-hits="" data-linenumber="
|
1509
|
+
<li class="never" data-hits="" data-linenumber="140">
|
1498
1510
|
|
1499
1511
|
|
1500
1512
|
<code class="ruby"> end</code>
|
1501
1513
|
</li>
|
1502
1514
|
|
1503
|
-
<li class="never" data-hits="" data-linenumber="
|
1515
|
+
<li class="never" data-hits="" data-linenumber="141">
|
1504
1516
|
|
1505
1517
|
|
1506
1518
|
<code class="ruby"></code>
|
1507
1519
|
</li>
|
1508
1520
|
|
1509
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1521
|
+
<li class="covered" data-hits="1" data-linenumber="142">
|
1510
1522
|
<span class="hits">1</span>
|
1511
1523
|
|
1512
1524
|
<code class="ruby"> def result</code>
|
1513
1525
|
</li>
|
1514
1526
|
|
1515
|
-
<li class="covered" data-hits="20" data-linenumber="
|
1527
|
+
<li class="covered" data-hits="20" data-linenumber="143">
|
1516
1528
|
<span class="hits">20</span>
|
1517
1529
|
|
1518
1530
|
<code class="ruby"> [ GroupResult.new("__#{@id}__") ]</code>
|
1519
1531
|
</li>
|
1520
1532
|
|
1521
|
-
<li class="never" data-hits="" data-linenumber="
|
1533
|
+
<li class="never" data-hits="" data-linenumber="144">
|
1522
1534
|
|
1523
1535
|
|
1524
1536
|
<code class="ruby"> end</code>
|
1525
1537
|
</li>
|
1526
1538
|
|
1527
|
-
<li class="never" data-hits="" data-linenumber="
|
1539
|
+
<li class="never" data-hits="" data-linenumber="145">
|
1528
1540
|
|
1529
1541
|
|
1530
1542
|
<code class="ruby"> end</code>
|
1531
1543
|
</li>
|
1532
1544
|
|
1533
|
-
<li class="never" data-hits="" data-linenumber="
|
1545
|
+
<li class="never" data-hits="" data-linenumber="146">
|
1534
1546
|
|
1535
1547
|
|
1536
1548
|
<code class="ruby"></code>
|
1537
1549
|
</li>
|
1538
1550
|
|
1539
|
-
<li class="never" data-hits="" data-linenumber="
|
1551
|
+
<li class="never" data-hits="" data-linenumber="147">
|
1540
1552
|
|
1541
1553
|
|
1542
1554
|
<code class="ruby">end</code>
|
@@ -1620,14 +1632,14 @@
|
|
1620
1632
|
<code class="ruby"> def self.permutations_of_strings(arrays_of_strings, options={})</code>
|
1621
1633
|
</li>
|
1622
1634
|
|
1623
|
-
<li class="covered" data-hits="
|
1624
|
-
<span class="hits">
|
1635
|
+
<li class="covered" data-hits="320" data-linenumber="11">
|
1636
|
+
<span class="hits">320</span>
|
1625
1637
|
|
1626
1638
|
<code class="ruby"> first = arrays_of_strings.shift</code>
|
1627
1639
|
</li>
|
1628
1640
|
|
1629
|
-
<li class="covered" data-hits="
|
1630
|
-
<span class="hits">
|
1641
|
+
<li class="covered" data-hits="320" data-linenumber="12">
|
1642
|
+
<span class="hits">320</span>
|
1631
1643
|
|
1632
1644
|
<code class="ruby"> return first if arrays_of_strings.empty?</code>
|
1633
1645
|
</li>
|
@@ -1758,20 +1770,20 @@
|
|
1758
1770
|
<code class="ruby"> def initialize(regexp_string)</code>
|
1759
1771
|
</li>
|
1760
1772
|
|
1761
|
-
<li class="covered" data-hits="
|
1762
|
-
<span class="hits">
|
1773
|
+
<li class="covered" data-hits="93" data-linenumber="5">
|
1774
|
+
<span class="hits">93</span>
|
1763
1775
|
|
1764
1776
|
<code class="ruby"> @regexp_string = regexp_string</code>
|
1765
1777
|
</li>
|
1766
1778
|
|
1767
|
-
<li class="covered" data-hits="
|
1768
|
-
<span class="hits">
|
1779
|
+
<li class="covered" data-hits="93" data-linenumber="6">
|
1780
|
+
<span class="hits">93</span>
|
1769
1781
|
|
1770
1782
|
<code class="ruby"> @num_groups = 0</code>
|
1771
1783
|
</li>
|
1772
1784
|
|
1773
|
-
<li class="covered" data-hits="
|
1774
|
-
<span class="hits">
|
1785
|
+
<li class="covered" data-hits="93" data-linenumber="7">
|
1786
|
+
<span class="hits">93</span>
|
1775
1787
|
|
1776
1788
|
<code class="ruby"> @current_position = 0</code>
|
1777
1789
|
</li>
|
@@ -1794,44 +1806,44 @@
|
|
1794
1806
|
<code class="ruby"> def parse</code>
|
1795
1807
|
</li>
|
1796
1808
|
|
1797
|
-
<li class="covered" data-hits="
|
1798
|
-
<span class="hits">
|
1809
|
+
<li class="covered" data-hits="141" data-linenumber="11">
|
1810
|
+
<span class="hits">141</span>
|
1799
1811
|
|
1800
1812
|
<code class="ruby"> repeaters = []</code>
|
1801
1813
|
</li>
|
1802
1814
|
|
1803
|
-
<li class="covered" data-hits="
|
1804
|
-
<span class="hits">
|
1815
|
+
<li class="covered" data-hits="141" data-linenumber="12">
|
1816
|
+
<span class="hits">141</span>
|
1805
1817
|
|
1806
1818
|
<code class="ruby"> while @current_position < regexp_string.length</code>
|
1807
1819
|
</li>
|
1808
1820
|
|
1809
|
-
<li class="covered" data-hits="
|
1810
|
-
<span class="hits">
|
1821
|
+
<li class="covered" data-hits="420" data-linenumber="13">
|
1822
|
+
<span class="hits">420</span>
|
1811
1823
|
|
1812
1824
|
<code class="ruby"> group = parse_group(repeaters)</code>
|
1813
1825
|
</li>
|
1814
1826
|
|
1815
|
-
<li class="covered" data-hits="
|
1816
|
-
<span class="hits">
|
1827
|
+
<li class="covered" data-hits="402" data-linenumber="14">
|
1828
|
+
<span class="hits">402</span>
|
1817
1829
|
|
1818
1830
|
<code class="ruby"> break if group.is_a? MultiGroupEnd</code>
|
1819
1831
|
</li>
|
1820
1832
|
|
1821
|
-
<li class="covered" data-hits="
|
1822
|
-
<span class="hits">
|
1833
|
+
<li class="covered" data-hits="361" data-linenumber="15">
|
1834
|
+
<span class="hits">361</span>
|
1823
1835
|
|
1824
1836
|
<code class="ruby"> repeaters = [] if group.is_a? OrGroup</code>
|
1825
1837
|
</li>
|
1826
1838
|
|
1827
|
-
<li class="covered" data-hits="
|
1828
|
-
<span class="hits">
|
1839
|
+
<li class="covered" data-hits="361" data-linenumber="16">
|
1840
|
+
<span class="hits">361</span>
|
1829
1841
|
|
1830
1842
|
<code class="ruby"> @current_position += 1</code>
|
1831
1843
|
</li>
|
1832
1844
|
|
1833
|
-
<li class="covered" data-hits="
|
1834
|
-
<span class="hits">
|
1845
|
+
<li class="covered" data-hits="361" data-linenumber="17">
|
1846
|
+
<span class="hits">361</span>
|
1835
1847
|
|
1836
1848
|
<code class="ruby"> repeaters << parse_repeater(group)</code>
|
1837
1849
|
</li>
|
@@ -1842,8 +1854,8 @@
|
|
1842
1854
|
<code class="ruby"> end</code>
|
1843
1855
|
</li>
|
1844
1856
|
|
1845
|
-
<li class="covered" data-hits="
|
1846
|
-
<span class="hits">
|
1857
|
+
<li class="covered" data-hits="123" data-linenumber="19">
|
1858
|
+
<span class="hits">123</span>
|
1847
1859
|
|
1848
1860
|
<code class="ruby"> repeaters</code>
|
1849
1861
|
</li>
|
@@ -1878,14 +1890,14 @@
|
|
1878
1890
|
<code class="ruby"> def parse_group(repeaters)</code>
|
1879
1891
|
</li>
|
1880
1892
|
|
1881
|
-
<li class="covered" data-hits="
|
1882
|
-
<span class="hits">
|
1893
|
+
<li class="covered" data-hits="420" data-linenumber="25">
|
1894
|
+
<span class="hits">420</span>
|
1883
1895
|
|
1884
1896
|
<code class="ruby"> char = regexp_string[@current_position]</code>
|
1885
1897
|
</li>
|
1886
1898
|
|
1887
|
-
<li class="covered" data-hits="
|
1888
|
-
<span class="hits">
|
1899
|
+
<li class="covered" data-hits="420" data-linenumber="26">
|
1900
|
+
<span class="hits">420</span>
|
1889
1901
|
|
1890
1902
|
<code class="ruby"> case char</code>
|
1891
1903
|
</li>
|
@@ -1920,8 +1932,8 @@
|
|
1920
1932
|
<code class="ruby"> when '['</code>
|
1921
1933
|
</li>
|
1922
1934
|
|
1923
|
-
<li class="covered" data-hits="
|
1924
|
-
<span class="hits">
|
1935
|
+
<li class="covered" data-hits="16" data-linenumber="32">
|
1936
|
+
<span class="hits">16</span>
|
1925
1937
|
|
1926
1938
|
<code class="ruby"> group = parse_char_group</code>
|
1927
1939
|
</li>
|
@@ -2052,8 +2064,8 @@
|
|
2052
2064
|
<code class="ruby"> end</code>
|
2053
2065
|
</li>
|
2054
2066
|
|
2055
|
-
<li class="covered" data-hits="
|
2056
|
-
<span class="hits">
|
2067
|
+
<li class="covered" data-hits="402" data-linenumber="54">
|
2068
|
+
<span class="hits">402</span>
|
2057
2069
|
|
2058
2070
|
<code class="ruby"> group</code>
|
2059
2071
|
</li>
|
@@ -2370,14 +2382,14 @@
|
|
2370
2382
|
<code class="ruby"> def parse_repeater(group)</code>
|
2371
2383
|
</li>
|
2372
2384
|
|
2373
|
-
<li class="covered" data-hits="
|
2374
|
-
<span class="hits">
|
2385
|
+
<li class="covered" data-hits="361" data-linenumber="107">
|
2386
|
+
<span class="hits">361</span>
|
2375
2387
|
|
2376
2388
|
<code class="ruby"> char = regexp_string[@current_position]</code>
|
2377
2389
|
</li>
|
2378
2390
|
|
2379
|
-
<li class="covered" data-hits="
|
2380
|
-
<span class="hits">
|
2391
|
+
<li class="covered" data-hits="361" data-linenumber="108">
|
2392
|
+
<span class="hits">361</span>
|
2381
2393
|
|
2382
2394
|
<code class="ruby"> case char</code>
|
2383
2395
|
</li>
|
@@ -2436,8 +2448,8 @@
|
|
2436
2448
|
<code class="ruby"> else</code>
|
2437
2449
|
</li>
|
2438
2450
|
|
2439
|
-
<li class="covered" data-hits="
|
2440
|
-
<span class="hits">
|
2451
|
+
<li class="covered" data-hits="336" data-linenumber="118">
|
2452
|
+
<span class="hits">336</span>
|
2441
2453
|
|
2442
2454
|
<code class="ruby"> repeater = parse_one_time_repeater(group)</code>
|
2443
2455
|
</li>
|
@@ -2448,8 +2460,8 @@
|
|
2448
2460
|
<code class="ruby"> end</code>
|
2449
2461
|
</li>
|
2450
2462
|
|
2451
|
-
<li class="covered" data-hits="
|
2452
|
-
<span class="hits">
|
2463
|
+
<li class="covered" data-hits="361" data-linenumber="120">
|
2464
|
+
<span class="hits">361</span>
|
2453
2465
|
|
2454
2466
|
<code class="ruby"> repeater</code>
|
2455
2467
|
</li>
|
@@ -2640,8 +2652,8 @@
|
|
2640
2652
|
<code class="ruby"> def parse_char_group</code>
|
2641
2653
|
</li>
|
2642
2654
|
|
2643
|
-
<li class="covered" data-hits="
|
2644
|
-
<span class="hits">
|
2655
|
+
<li class="covered" data-hits="16" data-linenumber="152">
|
2656
|
+
<span class="hits">16</span>
|
2645
2657
|
|
2646
2658
|
<code class="ruby"> if rest_of_string =~ /\A\[\[:[^:]+:\]\]/</code>
|
2647
2659
|
</li>
|
@@ -2658,20 +2670,20 @@
|
|
2658
2670
|
<code class="ruby"> end</code>
|
2659
2671
|
</li>
|
2660
2672
|
|
2661
|
-
<li class="covered" data-hits="
|
2662
|
-
<span class="hits">
|
2673
|
+
<li class="covered" data-hits="15" data-linenumber="155">
|
2674
|
+
<span class="hits">15</span>
|
2663
2675
|
|
2664
2676
|
<code class="ruby"> chars = []</code>
|
2665
2677
|
</li>
|
2666
2678
|
|
2667
|
-
<li class="covered" data-hits="
|
2668
|
-
<span class="hits">
|
2679
|
+
<li class="covered" data-hits="15" data-linenumber="156">
|
2680
|
+
<span class="hits">15</span>
|
2669
2681
|
|
2670
2682
|
<code class="ruby"> @current_position += 1</code>
|
2671
2683
|
</li>
|
2672
2684
|
|
2673
|
-
<li class="covered" data-hits="
|
2674
|
-
<span class="hits">
|
2685
|
+
<li class="covered" data-hits="15" data-linenumber="157">
|
2686
|
+
<span class="hits">15</span>
|
2675
2687
|
|
2676
2688
|
<code class="ruby"> if regexp_string[@current_position] == ']'</code>
|
2677
2689
|
</li>
|
@@ -2712,8 +2724,8 @@
|
|
2712
2724
|
<code class="ruby"> until regexp_string[@current_position] == ']' \</code>
|
2713
2725
|
</li>
|
2714
2726
|
|
2715
|
-
<li class="covered" data-hits="
|
2716
|
-
<span class="hits">
|
2727
|
+
<li class="covered" data-hits="15" data-linenumber="164">
|
2728
|
+
<span class="hits">15</span>
|
2717
2729
|
|
2718
2730
|
<code class="ruby"> && !regexp_string[0..@current_position-1].match(/[^\\](\\{2})*\\\z/)</code>
|
2719
2731
|
</li>
|
@@ -2742,14 +2754,14 @@
|
|
2742
2754
|
<code class="ruby"> # /[\\\]]/ (match "\" or "]")</code>
|
2743
2755
|
</li>
|
2744
2756
|
|
2745
|
-
<li class="covered" data-hits="
|
2746
|
-
<span class="hits">
|
2757
|
+
<li class="covered" data-hits="43" data-linenumber="169">
|
2758
|
+
<span class="hits">43</span>
|
2747
2759
|
|
2748
2760
|
<code class="ruby"> chars << regexp_string[@current_position]</code>
|
2749
2761
|
</li>
|
2750
2762
|
|
2751
|
-
<li class="covered" data-hits="
|
2752
|
-
<span class="hits">
|
2763
|
+
<li class="covered" data-hits="43" data-linenumber="170">
|
2764
|
+
<span class="hits">43</span>
|
2753
2765
|
|
2754
2766
|
<code class="ruby"> @current_position += 1</code>
|
2755
2767
|
</li>
|
@@ -2760,8 +2772,8 @@
|
|
2760
2772
|
<code class="ruby"> end</code>
|
2761
2773
|
</li>
|
2762
2774
|
|
2763
|
-
<li class="covered" data-hits="
|
2764
|
-
<span class="hits">
|
2775
|
+
<li class="covered" data-hits="15" data-linenumber="172">
|
2776
|
+
<span class="hits">15</span>
|
2765
2777
|
|
2766
2778
|
<code class="ruby"> CharGroup.new(chars)</code>
|
2767
2779
|
</li>
|
@@ -3120,8 +3132,8 @@
|
|
3120
3132
|
<code class="ruby"> def parse_one_time_repeater(group)</code>
|
3121
3133
|
</li>
|
3122
3134
|
|
3123
|
-
<li class="covered" data-hits="
|
3124
|
-
<span class="hits">
|
3135
|
+
<li class="covered" data-hits="336" data-linenumber="232">
|
3136
|
+
<span class="hits">336</span>
|
3125
3137
|
|
3126
3138
|
<code class="ruby"> OneTimeRepeater.new(group)</code>
|
3127
3139
|
</li>
|
@@ -3144,8 +3156,8 @@
|
|
3144
3156
|
<code class="ruby"> def rest_of_string</code>
|
3145
3157
|
</li>
|
3146
3158
|
|
3147
|
-
<li class="covered" data-hits="
|
3148
|
-
<span class="hits">
|
3159
|
+
<li class="covered" data-hits="294" data-linenumber="236">
|
3160
|
+
<span class="hits">294</span>
|
3149
3161
|
|
3150
3162
|
<code class="ruby"> regexp_string[@current_position..-1]</code>
|
3151
3163
|
</li>
|
@@ -3210,8 +3222,8 @@
|
|
3210
3222
|
<code class="ruby"> def examples</code>
|
3211
3223
|
</li>
|
3212
3224
|
|
3213
|
-
<li class="covered" data-hits="
|
3214
|
-
<span class="hits">
|
3225
|
+
<li class="covered" data-hits="93" data-linenumber="4">
|
3226
|
+
<span class="hits">93</span>
|
3215
3227
|
|
3216
3228
|
<code class="ruby"> partial_examples =</code>
|
3217
3229
|
</li>
|
@@ -3228,20 +3240,20 @@
|
|
3228
3240
|
<code class="ruby"> .parse</code>
|
3229
3241
|
</li>
|
3230
3242
|
|
3231
|
-
<li class="covered" data-hits="
|
3232
|
-
<span class="hits">
|
3243
|
+
<li class="covered" data-hits="163" data-linenumber="7">
|
3244
|
+
<span class="hits">163</span>
|
3233
3245
|
|
3234
3246
|
<code class="ruby"> .map {|repeater| repeater.result}</code>
|
3235
3247
|
</li>
|
3236
3248
|
|
3237
|
-
<li class="covered" data-hits="
|
3238
|
-
<span class="hits">
|
3249
|
+
<li class="covered" data-hits="76" data-linenumber="8">
|
3250
|
+
<span class="hits">76</span>
|
3239
3251
|
|
3240
3252
|
<code class="ruby"> full_examples = RegexpExamples::permutations_of_strings(partial_examples)</code>
|
3241
3253
|
</li>
|
3242
3254
|
|
3243
|
-
<li class="covered" data-hits="
|
3244
|
-
<span class="hits">
|
3255
|
+
<li class="covered" data-hits="76" data-linenumber="9">
|
3256
|
+
<span class="hits">76</span>
|
3245
3257
|
|
3246
3258
|
<code class="ruby"> RegexpExamples::BackReferenceReplacer.new.substitute_backreferences(full_examples)</code>
|
3247
3259
|
</li>
|
@@ -3318,8 +3330,8 @@
|
|
3318
3330
|
<code class="ruby"> def initialize(group)</code>
|
3319
3331
|
</li>
|
3320
3332
|
|
3321
|
-
<li class="covered" data-hits="
|
3322
|
-
<span class="hits">
|
3333
|
+
<li class="covered" data-hits="361" data-linenumber="5">
|
3334
|
+
<span class="hits">361</span>
|
3323
3335
|
|
3324
3336
|
<code class="ruby"> @group = group</code>
|
3325
3337
|
</li>
|
@@ -3342,32 +3354,32 @@
|
|
3342
3354
|
<code class="ruby"> def result(min_repeats, max_repeats)</code>
|
3343
3355
|
</li>
|
3344
3356
|
|
3345
|
-
<li class="covered" data-hits="
|
3346
|
-
<span class="hits">
|
3357
|
+
<li class="covered" data-hits="320" data-linenumber="9">
|
3358
|
+
<span class="hits">320</span>
|
3347
3359
|
|
3348
3360
|
<code class="ruby"> group_results = @group.result[0 .. MaxGroupResults-1]</code>
|
3349
3361
|
</li>
|
3350
3362
|
|
3351
|
-
<li class="covered" data-hits="
|
3352
|
-
<span class="hits">
|
3363
|
+
<li class="covered" data-hits="320" data-linenumber="10">
|
3364
|
+
<span class="hits">320</span>
|
3353
3365
|
|
3354
3366
|
<code class="ruby"> results = []</code>
|
3355
3367
|
</li>
|
3356
3368
|
|
3357
|
-
<li class="covered" data-hits="
|
3358
|
-
<span class="hits">
|
3369
|
+
<li class="covered" data-hits="320" data-linenumber="11">
|
3370
|
+
<span class="hits">320</span>
|
3359
3371
|
|
3360
3372
|
<code class="ruby"> min_repeats.upto(max_repeats) do |repeats|</code>
|
3361
3373
|
</li>
|
3362
3374
|
|
3363
|
-
<li class="covered" data-hits="
|
3364
|
-
<span class="hits">
|
3375
|
+
<li class="covered" data-hits="350" data-linenumber="12">
|
3376
|
+
<span class="hits">350</span>
|
3365
3377
|
|
3366
3378
|
<code class="ruby"> group_results.each do |group_result|</code>
|
3367
3379
|
</li>
|
3368
3380
|
|
3369
|
-
<li class="covered" data-hits="
|
3370
|
-
<span class="hits">
|
3381
|
+
<li class="covered" data-hits="464" data-linenumber="13">
|
3382
|
+
<span class="hits">464</span>
|
3371
3383
|
|
3372
3384
|
<code class="ruby"> results << group_result * repeats</code>
|
3373
3385
|
</li>
|
@@ -3384,8 +3396,8 @@
|
|
3384
3396
|
<code class="ruby"> end</code>
|
3385
3397
|
</li>
|
3386
3398
|
|
3387
|
-
<li class="covered" data-hits="
|
3388
|
-
<span class="hits">
|
3399
|
+
<li class="covered" data-hits="320" data-linenumber="16">
|
3400
|
+
<span class="hits">320</span>
|
3389
3401
|
|
3390
3402
|
<code class="ruby"> results.uniq</code>
|
3391
3403
|
</li>
|
@@ -3420,8 +3432,8 @@
|
|
3420
3432
|
<code class="ruby"> def initialize(group)</code>
|
3421
3433
|
</li>
|
3422
3434
|
|
3423
|
-
<li class="covered" data-hits="
|
3424
|
-
<span class="hits">
|
3435
|
+
<li class="covered" data-hits="336" data-linenumber="22">
|
3436
|
+
<span class="hits">336</span>
|
3425
3437
|
|
3426
3438
|
<code class="ruby"> super</code>
|
3427
3439
|
</li>
|
@@ -3444,8 +3456,8 @@
|
|
3444
3456
|
<code class="ruby"> def result</code>
|
3445
3457
|
</li>
|
3446
3458
|
|
3447
|
-
<li class="covered" data-hits="
|
3448
|
-
<span class="hits">
|
3459
|
+
<li class="covered" data-hits="295" data-linenumber="26">
|
3460
|
+
<span class="hits">295</span>
|
3449
3461
|
|
3450
3462
|
<code class="ruby"> super(1, 1)</code>
|
3451
3463
|
</li>
|
@@ -3798,26 +3810,26 @@
|
|
3798
3810
|
<code class="ruby"> regexps.each do |regexp|</code>
|
3799
3811
|
</li>
|
3800
3812
|
|
3801
|
-
<li class="covered" data-hits="
|
3802
|
-
<span class="hits">
|
3813
|
+
<li class="covered" data-hits="76" data-linenumber="4">
|
3814
|
+
<span class="hits">76</span>
|
3803
3815
|
|
3804
3816
|
<code class="ruby"> it do</code>
|
3805
3817
|
</li>
|
3806
3818
|
|
3807
|
-
<li class="covered" data-hits="
|
3808
|
-
<span class="hits">
|
3819
|
+
<li class="covered" data-hits="76" data-linenumber="5">
|
3820
|
+
<span class="hits">76</span>
|
3809
3821
|
|
3810
3822
|
<code class="ruby"> regexp_examples = regexp.examples</code>
|
3811
3823
|
</li>
|
3812
3824
|
|
3813
|
-
<li class="covered" data-hits="
|
3814
|
-
<span class="hits">
|
3825
|
+
<li class="covered" data-hits="76" data-linenumber="6">
|
3826
|
+
<span class="hits">76</span>
|
3815
3827
|
|
3816
3828
|
<code class="ruby"> expect(regexp_examples).not_to be_empty</code>
|
3817
3829
|
</li>
|
3818
3830
|
|
3819
|
-
<li class="covered" data-hits="
|
3820
|
-
<span class="hits">
|
3831
|
+
<li class="covered" data-hits="248" data-linenumber="7">
|
3832
|
+
<span class="hits">248</span>
|
3821
3833
|
|
3822
3834
|
<code class="ruby"> regexp_examples.each { |example| expect(example).to match(/\A(?:#{regexp.source})\z/) }</code>
|
3823
3835
|
</li>
|
@@ -4353,580 +4365,586 @@
|
|
4353
4365
|
<li class="never" data-hits="" data-linenumber="96">
|
4354
4366
|
|
4355
4367
|
|
4356
|
-
<code class="ruby"> /\e
|
4368
|
+
<code class="ruby"> /\e/,</code>
|
4357
4369
|
</li>
|
4358
4370
|
|
4359
4371
|
<li class="never" data-hits="" data-linenumber="97">
|
4360
4372
|
|
4361
4373
|
|
4362
|
-
<code class="ruby">
|
4374
|
+
<code class="ruby"> /[\b]/</code>
|
4363
4375
|
</li>
|
4364
4376
|
|
4365
4377
|
<li class="never" data-hits="" data-linenumber="98">
|
4366
4378
|
|
4367
4379
|
|
4368
|
-
<code class="ruby">
|
4380
|
+
<code class="ruby"> )</code>
|
4369
4381
|
</li>
|
4370
4382
|
|
4371
4383
|
<li class="never" data-hits="" data-linenumber="99">
|
4372
4384
|
|
4373
4385
|
|
4386
|
+
<code class="ruby"> end</code>
|
4387
|
+
</li>
|
4388
|
+
|
4389
|
+
<li class="never" data-hits="" data-linenumber="100">
|
4390
|
+
|
4391
|
+
|
4374
4392
|
<code class="ruby"></code>
|
4375
4393
|
</li>
|
4376
4394
|
|
4377
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4395
|
+
<li class="covered" data-hits="1" data-linenumber="101">
|
4378
4396
|
<span class="hits">1</span>
|
4379
4397
|
|
4380
4398
|
<code class="ruby"> context "for backreferences" do</code>
|
4381
4399
|
</li>
|
4382
4400
|
|
4383
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4401
|
+
<li class="covered" data-hits="1" data-linenumber="102">
|
4384
4402
|
<span class="hits">1</span>
|
4385
4403
|
|
4386
4404
|
<code class="ruby"> examples_exist_and_match(</code>
|
4387
4405
|
</li>
|
4388
4406
|
|
4389
|
-
<li class="never" data-hits="" data-linenumber="
|
4407
|
+
<li class="never" data-hits="" data-linenumber="103">
|
4390
4408
|
|
4391
4409
|
|
4392
4410
|
<code class="ruby"> /(repeat) \1/,</code>
|
4393
4411
|
</li>
|
4394
4412
|
|
4395
|
-
<li class="never" data-hits="" data-linenumber="
|
4413
|
+
<li class="never" data-hits="" data-linenumber="104">
|
4396
4414
|
|
4397
4415
|
|
4398
4416
|
<code class="ruby"> /(ref1) (ref2) \1 \2/,</code>
|
4399
4417
|
</li>
|
4400
4418
|
|
4401
|
-
<li class="never" data-hits="" data-linenumber="
|
4419
|
+
<li class="never" data-hits="" data-linenumber="105">
|
4402
4420
|
|
4403
4421
|
|
4404
4422
|
<code class="ruby"> /((ref2)ref1) \1 \2/,</code>
|
4405
4423
|
</li>
|
4406
4424
|
|
4407
|
-
<li class="never" data-hits="" data-linenumber="
|
4425
|
+
<li class="never" data-hits="" data-linenumber="106">
|
4408
4426
|
|
4409
4427
|
|
4410
4428
|
<code class="ruby"> /((ref1and2)) \1 \2/,</code>
|
4411
4429
|
</li>
|
4412
4430
|
|
4413
|
-
<li class="never" data-hits="" data-linenumber="
|
4431
|
+
<li class="never" data-hits="" data-linenumber="107">
|
4414
4432
|
|
4415
4433
|
|
4416
4434
|
<code class="ruby"> /(one)(two)(three)(four)(five)(six)(seven)(eight)(nine)(ten) \10\9\8\7\6\5\4\3\2\1/,</code>
|
4417
4435
|
</li>
|
4418
4436
|
|
4419
|
-
<li class="never" data-hits="" data-linenumber="
|
4437
|
+
<li class="never" data-hits="" data-linenumber="108">
|
4420
4438
|
|
4421
4439
|
|
4422
4440
|
<code class="ruby"> /(a?(b?(c?(d?(e?)))))/</code>
|
4423
4441
|
</li>
|
4424
4442
|
|
4425
|
-
<li class="never" data-hits="" data-linenumber="
|
4443
|
+
<li class="never" data-hits="" data-linenumber="109">
|
4426
4444
|
|
4427
4445
|
|
4428
4446
|
<code class="ruby"> )</code>
|
4429
4447
|
</li>
|
4430
4448
|
|
4431
|
-
<li class="never" data-hits="" data-linenumber="
|
4449
|
+
<li class="never" data-hits="" data-linenumber="110">
|
4432
4450
|
|
4433
4451
|
|
4434
4452
|
<code class="ruby"> end</code>
|
4435
4453
|
</li>
|
4436
4454
|
|
4437
|
-
<li class="never" data-hits="" data-linenumber="
|
4455
|
+
<li class="never" data-hits="" data-linenumber="111">
|
4438
4456
|
|
4439
4457
|
|
4440
4458
|
<code class="ruby"></code>
|
4441
4459
|
</li>
|
4442
4460
|
|
4443
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4461
|
+
<li class="covered" data-hits="1" data-linenumber="112">
|
4444
4462
|
<span class="hits">1</span>
|
4445
4463
|
|
4446
4464
|
<code class="ruby"> context "for complex patterns" do</code>
|
4447
4465
|
</li>
|
4448
4466
|
|
4449
|
-
<li class="never" data-hits="" data-linenumber="
|
4467
|
+
<li class="never" data-hits="" data-linenumber="113">
|
4450
4468
|
|
4451
4469
|
|
4452
4470
|
<code class="ruby"> # Longer combinations of the above</code>
|
4453
4471
|
</li>
|
4454
4472
|
|
4455
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4473
|
+
<li class="covered" data-hits="1" data-linenumber="114">
|
4456
4474
|
<span class="hits">1</span>
|
4457
4475
|
|
4458
4476
|
<code class="ruby"> examples_exist_and_match(</code>
|
4459
4477
|
</li>
|
4460
4478
|
|
4461
|
-
<li class="never" data-hits="" data-linenumber="
|
4479
|
+
<li class="never" data-hits="" data-linenumber="115">
|
4462
4480
|
|
4463
4481
|
|
4464
4482
|
<code class="ruby"> /https?:\/\/(www\.)github\.com/,</code>
|
4465
4483
|
</li>
|
4466
4484
|
|
4467
|
-
<li class="never" data-hits="" data-linenumber="
|
4485
|
+
<li class="never" data-hits="" data-linenumber="116">
|
4468
4486
|
|
4469
4487
|
|
4470
4488
|
<code class="ruby"> /(I(N(C(E(P(T(I(O(N)))))))))*/,</code>
|
4471
4489
|
</li>
|
4472
4490
|
|
4473
|
-
<li class="never" data-hits="" data-linenumber="
|
4491
|
+
<li class="never" data-hits="" data-linenumber="117">
|
4474
4492
|
|
4475
4493
|
|
4476
4494
|
<code class="ruby"> /[\w]{1}/,</code>
|
4477
4495
|
</li>
|
4478
4496
|
|
4479
|
-
<li class="never" data-hits="" data-linenumber="
|
4497
|
+
<li class="never" data-hits="" data-linenumber="118">
|
4480
4498
|
|
4481
4499
|
|
4482
4500
|
<code class="ruby"> /((a?b*c+)) \1/,</code>
|
4483
4501
|
</li>
|
4484
4502
|
|
4485
|
-
<li class="never" data-hits="" data-linenumber="
|
4503
|
+
<li class="never" data-hits="" data-linenumber="119">
|
4486
4504
|
|
4487
4505
|
|
4488
4506
|
<code class="ruby"> /((a?b*c+)?) \1/,</code>
|
4489
4507
|
</li>
|
4490
4508
|
|
4491
|
-
<li class="never" data-hits="" data-linenumber="
|
4509
|
+
<li class="never" data-hits="" data-linenumber="120">
|
4492
4510
|
|
4493
4511
|
|
4494
4512
|
<code class="ruby"> /a|b|c|d/,</code>
|
4495
4513
|
</li>
|
4496
4514
|
|
4497
|
-
<li class="never" data-hits="" data-linenumber="
|
4515
|
+
<li class="never" data-hits="" data-linenumber="121">
|
4498
4516
|
|
4499
4517
|
|
4500
4518
|
<code class="ruby"> /a+|b*|c?/</code>
|
4501
4519
|
</li>
|
4502
4520
|
|
4503
|
-
<li class="never" data-hits="" data-linenumber="
|
4521
|
+
<li class="never" data-hits="" data-linenumber="122">
|
4504
4522
|
|
4505
4523
|
|
4506
4524
|
<code class="ruby"> )</code>
|
4507
4525
|
</li>
|
4508
4526
|
|
4509
|
-
<li class="never" data-hits="" data-linenumber="
|
4527
|
+
<li class="never" data-hits="" data-linenumber="123">
|
4510
4528
|
|
4511
4529
|
|
4512
4530
|
<code class="ruby"> end</code>
|
4513
4531
|
</li>
|
4514
4532
|
|
4515
|
-
<li class="never" data-hits="" data-linenumber="
|
4533
|
+
<li class="never" data-hits="" data-linenumber="124">
|
4516
4534
|
|
4517
4535
|
|
4518
4536
|
<code class="ruby"></code>
|
4519
4537
|
</li>
|
4520
4538
|
|
4521
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4539
|
+
<li class="covered" data-hits="1" data-linenumber="125">
|
4522
4540
|
<span class="hits">1</span>
|
4523
4541
|
|
4524
4542
|
<code class="ruby"> context "for illegal syntax" do</code>
|
4525
4543
|
</li>
|
4526
4544
|
|
4527
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4545
|
+
<li class="covered" data-hits="1" data-linenumber="126">
|
4528
4546
|
<span class="hits">1</span>
|
4529
4547
|
|
4530
4548
|
<code class="ruby"> examples_raise_illegal_syntax_error(</code>
|
4531
4549
|
</li>
|
4532
4550
|
|
4533
|
-
<li class="never" data-hits="" data-linenumber="
|
4551
|
+
<li class="never" data-hits="" data-linenumber="127">
|
4534
4552
|
|
4535
4553
|
|
4536
4554
|
<code class="ruby"> /(?=lookahead)/,</code>
|
4537
4555
|
</li>
|
4538
4556
|
|
4539
|
-
<li class="never" data-hits="" data-linenumber="
|
4557
|
+
<li class="never" data-hits="" data-linenumber="128">
|
4540
4558
|
|
4541
4559
|
|
4542
4560
|
<code class="ruby"> /(?!neglookahead)/,</code>
|
4543
4561
|
</li>
|
4544
4562
|
|
4545
|
-
<li class="never" data-hits="" data-linenumber="
|
4563
|
+
<li class="never" data-hits="" data-linenumber="129">
|
4546
4564
|
|
4547
4565
|
|
4548
4566
|
<code class="ruby"> /(?<=lookbehind)/,</code>
|
4549
4567
|
</li>
|
4550
4568
|
|
4551
|
-
<li class="never" data-hits="" data-linenumber="
|
4569
|
+
<li class="never" data-hits="" data-linenumber="130">
|
4552
4570
|
|
4553
4571
|
|
4554
4572
|
<code class="ruby"> /(?<!neglookbehind)/,</code>
|
4555
4573
|
</li>
|
4556
4574
|
|
4557
|
-
<li class="never" data-hits="" data-linenumber="
|
4575
|
+
<li class="never" data-hits="" data-linenumber="131">
|
4558
4576
|
|
4559
4577
|
|
4560
4578
|
<code class="ruby"> /\bword-boundary/,</code>
|
4561
4579
|
</li>
|
4562
4580
|
|
4563
|
-
<li class="never" data-hits="" data-linenumber="
|
4581
|
+
<li class="never" data-hits="" data-linenumber="132">
|
4564
4582
|
|
4565
4583
|
|
4566
4584
|
<code class="ruby"> /no\Bn-word-boundary/,</code>
|
4567
4585
|
</li>
|
4568
4586
|
|
4569
|
-
<li class="never" data-hits="" data-linenumber="
|
4587
|
+
<li class="never" data-hits="" data-linenumber="133">
|
4570
4588
|
|
4571
4589
|
|
4572
4590
|
<code class="ruby"> /\Glast-match/,</code>
|
4573
4591
|
</li>
|
4574
4592
|
|
4575
|
-
<li class="never" data-hits="" data-linenumber="
|
4593
|
+
<li class="never" data-hits="" data-linenumber="134">
|
4576
4594
|
|
4577
4595
|
|
4578
4596
|
<code class="ruby"> /start-of\A-string/,</code>
|
4579
4597
|
</li>
|
4580
4598
|
|
4581
|
-
<li class="never" data-hits="" data-linenumber="
|
4599
|
+
<li class="never" data-hits="" data-linenumber="135">
|
4582
4600
|
|
4583
4601
|
|
4584
4602
|
<code class="ruby"> /start-of^-line/,</code>
|
4585
4603
|
</li>
|
4586
4604
|
|
4587
|
-
<li class="never" data-hits="" data-linenumber="
|
4605
|
+
<li class="never" data-hits="" data-linenumber="136">
|
4588
4606
|
|
4589
4607
|
|
4590
4608
|
<code class="ruby"> /end-of\Z-string/,</code>
|
4591
4609
|
</li>
|
4592
4610
|
|
4593
|
-
<li class="never" data-hits="" data-linenumber="
|
4611
|
+
<li class="never" data-hits="" data-linenumber="137">
|
4594
4612
|
|
4595
4613
|
|
4596
4614
|
<code class="ruby"> /end-of\z-string/,</code>
|
4597
4615
|
</li>
|
4598
4616
|
|
4599
|
-
<li class="never" data-hits="" data-linenumber="
|
4617
|
+
<li class="never" data-hits="" data-linenumber="138">
|
4600
4618
|
|
4601
4619
|
|
4602
4620
|
<code class="ruby"> /end-of$-line/</code>
|
4603
4621
|
</li>
|
4604
4622
|
|
4605
|
-
<li class="never" data-hits="" data-linenumber="
|
4623
|
+
<li class="never" data-hits="" data-linenumber="139">
|
4606
4624
|
|
4607
4625
|
|
4608
4626
|
<code class="ruby"> )</code>
|
4609
4627
|
</li>
|
4610
4628
|
|
4611
|
-
<li class="never" data-hits="" data-linenumber="
|
4629
|
+
<li class="never" data-hits="" data-linenumber="140">
|
4612
4630
|
|
4613
4631
|
|
4614
4632
|
<code class="ruby"> end</code>
|
4615
4633
|
</li>
|
4616
4634
|
|
4617
|
-
<li class="never" data-hits="" data-linenumber="
|
4635
|
+
<li class="never" data-hits="" data-linenumber="141">
|
4618
4636
|
|
4619
4637
|
|
4620
4638
|
<code class="ruby"></code>
|
4621
4639
|
</li>
|
4622
4640
|
|
4623
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4641
|
+
<li class="covered" data-hits="1" data-linenumber="142">
|
4624
4642
|
<span class="hits">1</span>
|
4625
4643
|
|
4626
4644
|
<code class="ruby"> context "ignore start/end anchors if at start/end" do</code>
|
4627
4645
|
</li>
|
4628
4646
|
|
4629
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4647
|
+
<li class="covered" data-hits="1" data-linenumber="143">
|
4630
4648
|
<span class="hits">1</span>
|
4631
4649
|
|
4632
4650
|
<code class="ruby"> examples_exist_and_match(</code>
|
4633
4651
|
</li>
|
4634
4652
|
|
4635
|
-
<li class="never" data-hits="" data-linenumber="
|
4653
|
+
<li class="never" data-hits="" data-linenumber="144">
|
4636
4654
|
|
4637
4655
|
|
4638
4656
|
<code class="ruby"> /\Astart/,</code>
|
4639
4657
|
</li>
|
4640
4658
|
|
4641
|
-
<li class="never" data-hits="" data-linenumber="
|
4659
|
+
<li class="never" data-hits="" data-linenumber="145">
|
4642
4660
|
|
4643
4661
|
|
4644
4662
|
<code class="ruby"> /^start/,</code>
|
4645
4663
|
</li>
|
4646
4664
|
|
4647
|
-
<li class="never" data-hits="" data-linenumber="
|
4665
|
+
<li class="never" data-hits="" data-linenumber="146">
|
4648
4666
|
|
4649
4667
|
|
4650
4668
|
<code class="ruby"> /end$/,</code>
|
4651
4669
|
</li>
|
4652
4670
|
|
4653
|
-
<li class="never" data-hits="" data-linenumber="
|
4671
|
+
<li class="never" data-hits="" data-linenumber="147">
|
4654
4672
|
|
4655
4673
|
|
4656
4674
|
<code class="ruby"> /end\z/,</code>
|
4657
4675
|
</li>
|
4658
4676
|
|
4659
|
-
<li class="never" data-hits="" data-linenumber="
|
4677
|
+
<li class="never" data-hits="" data-linenumber="148">
|
4660
4678
|
|
4661
4679
|
|
4662
4680
|
<code class="ruby"> /end\Z/</code>
|
4663
4681
|
</li>
|
4664
4682
|
|
4665
|
-
<li class="never" data-hits="" data-linenumber="
|
4683
|
+
<li class="never" data-hits="" data-linenumber="149">
|
4666
4684
|
|
4667
4685
|
|
4668
4686
|
<code class="ruby"> )</code>
|
4669
4687
|
</li>
|
4670
4688
|
|
4671
|
-
<li class="never" data-hits="" data-linenumber="
|
4689
|
+
<li class="never" data-hits="" data-linenumber="150">
|
4672
4690
|
|
4673
4691
|
|
4674
4692
|
<code class="ruby"> end</code>
|
4675
4693
|
</li>
|
4676
4694
|
|
4677
|
-
<li class="never" data-hits="" data-linenumber="
|
4695
|
+
<li class="never" data-hits="" data-linenumber="151">
|
4678
4696
|
|
4679
4697
|
|
4680
4698
|
<code class="ruby"></code>
|
4681
4699
|
</li>
|
4682
4700
|
|
4683
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4701
|
+
<li class="covered" data-hits="1" data-linenumber="152">
|
4684
4702
|
<span class="hits">1</span>
|
4685
4703
|
|
4686
4704
|
<code class="ruby"> context "for unsupported syntax" do</code>
|
4687
4705
|
</li>
|
4688
4706
|
|
4689
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4707
|
+
<li class="covered" data-hits="1" data-linenumber="153">
|
4690
4708
|
<span class="hits">1</span>
|
4691
4709
|
|
4692
4710
|
<code class="ruby"> examples_raise_unsupported_syntax_error(</code>
|
4693
4711
|
</li>
|
4694
4712
|
|
4695
|
-
<li class="never" data-hits="" data-linenumber="
|
4713
|
+
<li class="never" data-hits="" data-linenumber="154">
|
4696
4714
|
|
4697
4715
|
|
4698
4716
|
<code class="ruby"> /\p{L}/,</code>
|
4699
4717
|
</li>
|
4700
4718
|
|
4701
|
-
<li class="never" data-hits="" data-linenumber="
|
4719
|
+
<li class="never" data-hits="" data-linenumber="155">
|
4702
4720
|
|
4703
4721
|
|
4704
4722
|
<code class="ruby"> /\p{Arabic}/,</code>
|
4705
4723
|
</li>
|
4706
4724
|
|
4707
|
-
<li class="never" data-hits="" data-linenumber="
|
4725
|
+
<li class="never" data-hits="" data-linenumber="156">
|
4708
4726
|
|
4709
4727
|
|
4710
4728
|
<code class="ruby"> /\p{^Ll}/,</code>
|
4711
4729
|
</li>
|
4712
4730
|
|
4713
|
-
<li class="never" data-hits="" data-linenumber="
|
4731
|
+
<li class="never" data-hits="" data-linenumber="157">
|
4714
4732
|
|
4715
4733
|
|
4716
4734
|
<code class="ruby"> /(?<name> ... \g<name>*)/,</code>
|
4717
4735
|
</li>
|
4718
4736
|
|
4719
|
-
<li class="never" data-hits="" data-linenumber="
|
4737
|
+
<li class="never" data-hits="" data-linenumber="158">
|
4720
4738
|
|
4721
4739
|
|
4722
4740
|
<code class="ruby"> /[[:space:]]/</code>
|
4723
4741
|
</li>
|
4724
4742
|
|
4725
|
-
<li class="never" data-hits="" data-linenumber="
|
4743
|
+
<li class="never" data-hits="" data-linenumber="159">
|
4726
4744
|
|
4727
4745
|
|
4728
4746
|
<code class="ruby"> )</code>
|
4729
4747
|
</li>
|
4730
4748
|
|
4731
|
-
<li class="never" data-hits="" data-linenumber="
|
4749
|
+
<li class="never" data-hits="" data-linenumber="160">
|
4732
4750
|
|
4733
4751
|
|
4734
4752
|
<code class="ruby"> end</code>
|
4735
4753
|
</li>
|
4736
4754
|
|
4737
|
-
<li class="never" data-hits="" data-linenumber="
|
4755
|
+
<li class="never" data-hits="" data-linenumber="161">
|
4738
4756
|
|
4739
4757
|
|
4740
4758
|
<code class="ruby"></code>
|
4741
4759
|
</li>
|
4742
4760
|
|
4743
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4761
|
+
<li class="covered" data-hits="1" data-linenumber="162">
|
4744
4762
|
<span class="hits">1</span>
|
4745
4763
|
|
4746
4764
|
<code class="ruby"> context "for control characters" do</code>
|
4747
4765
|
</li>
|
4748
4766
|
|
4749
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4767
|
+
<li class="covered" data-hits="1" data-linenumber="163">
|
4750
4768
|
<span class="hits">1</span>
|
4751
4769
|
|
4752
4770
|
<code class="ruby"> examples_exist_and_match(</code>
|
4753
4771
|
</li>
|
4754
4772
|
|
4755
|
-
<li class="never" data-hits="" data-linenumber="
|
4773
|
+
<li class="never" data-hits="" data-linenumber="164">
|
4756
4774
|
|
4757
4775
|
|
4758
4776
|
<code class="ruby"> /\ca/,</code>
|
4759
4777
|
</li>
|
4760
4778
|
|
4761
|
-
<li class="never" data-hits="" data-linenumber="
|
4779
|
+
<li class="never" data-hits="" data-linenumber="165">
|
4762
4780
|
|
4763
4781
|
|
4764
4782
|
<code class="ruby"> /\cZ/,</code>
|
4765
4783
|
</li>
|
4766
4784
|
|
4767
|
-
<li class="never" data-hits="" data-linenumber="
|
4785
|
+
<li class="never" data-hits="" data-linenumber="166">
|
4768
4786
|
|
4769
4787
|
|
4770
4788
|
<code class="ruby"> /\c9/,</code>
|
4771
4789
|
</li>
|
4772
4790
|
|
4773
|
-
<li class="never" data-hits="" data-linenumber="
|
4791
|
+
<li class="never" data-hits="" data-linenumber="167">
|
4774
4792
|
|
4775
4793
|
|
4776
4794
|
<code class="ruby"> /\c[/,</code>
|
4777
4795
|
</li>
|
4778
4796
|
|
4779
|
-
<li class="never" data-hits="" data-linenumber="
|
4797
|
+
<li class="never" data-hits="" data-linenumber="168">
|
4780
4798
|
|
4781
4799
|
|
4782
4800
|
<code class="ruby"> /\c#/,</code>
|
4783
4801
|
</li>
|
4784
4802
|
|
4785
|
-
<li class="never" data-hits="" data-linenumber="
|
4803
|
+
<li class="never" data-hits="" data-linenumber="169">
|
4786
4804
|
|
4787
4805
|
|
4788
4806
|
<code class="ruby"> /\c?/,</code>
|
4789
4807
|
</li>
|
4790
4808
|
|
4791
|
-
<li class="never" data-hits="" data-linenumber="
|
4809
|
+
<li class="never" data-hits="" data-linenumber="170">
|
4792
4810
|
|
4793
4811
|
|
4794
4812
|
<code class="ruby"> /\C-a/,</code>
|
4795
4813
|
</li>
|
4796
4814
|
|
4797
|
-
<li class="never" data-hits="" data-linenumber="
|
4815
|
+
<li class="never" data-hits="" data-linenumber="171">
|
4798
4816
|
|
4799
4817
|
|
4800
4818
|
<code class="ruby"> /\C-&/</code>
|
4801
4819
|
</li>
|
4802
4820
|
|
4803
|
-
<li class="never" data-hits="" data-linenumber="
|
4821
|
+
<li class="never" data-hits="" data-linenumber="172">
|
4804
4822
|
|
4805
4823
|
|
4806
4824
|
<code class="ruby"> )</code>
|
4807
4825
|
</li>
|
4808
4826
|
|
4809
|
-
<li class="never" data-hits="" data-linenumber="
|
4827
|
+
<li class="never" data-hits="" data-linenumber="173">
|
4810
4828
|
|
4811
4829
|
|
4812
4830
|
<code class="ruby"> end</code>
|
4813
4831
|
</li>
|
4814
4832
|
|
4815
|
-
<li class="never" data-hits="" data-linenumber="
|
4833
|
+
<li class="never" data-hits="" data-linenumber="174">
|
4816
4834
|
|
4817
4835
|
|
4818
4836
|
<code class="ruby"></code>
|
4819
4837
|
</li>
|
4820
4838
|
|
4821
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4839
|
+
<li class="covered" data-hits="1" data-linenumber="175">
|
4822
4840
|
<span class="hits">1</span>
|
4823
4841
|
|
4824
4842
|
<code class="ruby"> context "for escape sequences" do</code>
|
4825
4843
|
</li>
|
4826
4844
|
|
4827
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4845
|
+
<li class="covered" data-hits="1" data-linenumber="176">
|
4828
4846
|
<span class="hits">1</span>
|
4829
4847
|
|
4830
4848
|
<code class="ruby"> examples_exist_and_match(</code>
|
4831
4849
|
</li>
|
4832
4850
|
|
4833
|
-
<li class="never" data-hits="" data-linenumber="
|
4851
|
+
<li class="never" data-hits="" data-linenumber="177">
|
4834
4852
|
|
4835
4853
|
|
4836
4854
|
<code class="ruby"> /\x42/,</code>
|
4837
4855
|
</li>
|
4838
4856
|
|
4839
|
-
<li class="never" data-hits="" data-linenumber="
|
4857
|
+
<li class="never" data-hits="" data-linenumber="178">
|
4840
4858
|
|
4841
4859
|
|
4842
4860
|
<code class="ruby"> /\x1D/,</code>
|
4843
4861
|
</li>
|
4844
4862
|
|
4845
|
-
<li class="never" data-hits="" data-linenumber="
|
4863
|
+
<li class="never" data-hits="" data-linenumber="179">
|
4846
4864
|
|
4847
4865
|
|
4848
4866
|
<code class="ruby"> /\x3word/,</code>
|
4849
4867
|
</li>
|
4850
4868
|
|
4851
|
-
<li class="never" data-hits="" data-linenumber="
|
4869
|
+
<li class="never" data-hits="" data-linenumber="180">
|
4852
4870
|
|
4853
4871
|
|
4854
4872
|
<code class="ruby"> /#{"\x80".force_encoding("ASCII-8BIT")}/</code>
|
4855
4873
|
</li>
|
4856
4874
|
|
4857
|
-
<li class="never" data-hits="" data-linenumber="
|
4875
|
+
<li class="never" data-hits="" data-linenumber="181">
|
4858
4876
|
|
4859
4877
|
|
4860
4878
|
<code class="ruby"> )</code>
|
4861
4879
|
</li>
|
4862
4880
|
|
4863
|
-
<li class="never" data-hits="" data-linenumber="
|
4881
|
+
<li class="never" data-hits="" data-linenumber="182">
|
4864
4882
|
|
4865
4883
|
|
4866
4884
|
<code class="ruby"> end</code>
|
4867
4885
|
</li>
|
4868
4886
|
|
4869
|
-
<li class="never" data-hits="" data-linenumber="
|
4887
|
+
<li class="never" data-hits="" data-linenumber="183">
|
4870
4888
|
|
4871
4889
|
|
4872
4890
|
<code class="ruby"></code>
|
4873
4891
|
</li>
|
4874
4892
|
|
4875
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4893
|
+
<li class="covered" data-hits="1" data-linenumber="184">
|
4876
4894
|
<span class="hits">1</span>
|
4877
4895
|
|
4878
4896
|
<code class="ruby"> context "for unicode sequences" do</code>
|
4879
4897
|
</li>
|
4880
4898
|
|
4881
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4899
|
+
<li class="covered" data-hits="1" data-linenumber="185">
|
4882
4900
|
<span class="hits">1</span>
|
4883
4901
|
|
4884
4902
|
<code class="ruby"> examples_exist_and_match(</code>
|
4885
4903
|
</li>
|
4886
4904
|
|
4887
|
-
<li class="never" data-hits="" data-linenumber="
|
4905
|
+
<li class="never" data-hits="" data-linenumber="186">
|
4888
4906
|
|
4889
4907
|
|
4890
4908
|
<code class="ruby"> /\u6829/,</code>
|
4891
4909
|
</li>
|
4892
4910
|
|
4893
|
-
<li class="never" data-hits="" data-linenumber="
|
4911
|
+
<li class="never" data-hits="" data-linenumber="187">
|
4894
4912
|
|
4895
4913
|
|
4896
4914
|
<code class="ruby"> /\uabcd/,</code>
|
4897
4915
|
</li>
|
4898
4916
|
|
4899
|
-
<li class="never" data-hits="" data-linenumber="
|
4917
|
+
<li class="never" data-hits="" data-linenumber="188">
|
4900
4918
|
|
4901
4919
|
|
4902
4920
|
<code class="ruby"> /\u{42}word/</code>
|
4903
4921
|
</li>
|
4904
4922
|
|
4905
|
-
<li class="never" data-hits="" data-linenumber="
|
4923
|
+
<li class="never" data-hits="" data-linenumber="189">
|
4906
4924
|
|
4907
4925
|
|
4908
4926
|
<code class="ruby"> )</code>
|
4909
4927
|
</li>
|
4910
4928
|
|
4911
|
-
<li class="never" data-hits="" data-linenumber="
|
4929
|
+
<li class="never" data-hits="" data-linenumber="190">
|
4912
4930
|
|
4913
4931
|
|
4914
4932
|
<code class="ruby"> end</code>
|
4915
4933
|
</li>
|
4916
4934
|
|
4917
|
-
<li class="never" data-hits="" data-linenumber="
|
4935
|
+
<li class="never" data-hits="" data-linenumber="191">
|
4918
4936
|
|
4919
4937
|
|
4920
4938
|
<code class="ruby"></code>
|
4921
4939
|
</li>
|
4922
4940
|
|
4923
|
-
<li class="never" data-hits="" data-linenumber="
|
4941
|
+
<li class="never" data-hits="" data-linenumber="192">
|
4924
4942
|
|
4925
4943
|
|
4926
4944
|
<code class="ruby"> end</code>
|
4927
4945
|
</li>
|
4928
4946
|
|
4929
|
-
<li class="never" data-hits="" data-linenumber="
|
4947
|
+
<li class="never" data-hits="" data-linenumber="193">
|
4930
4948
|
|
4931
4949
|
|
4932
4950
|
<code class="ruby">end</code>
|