diffed 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/diffed/version.rb +1 -1
- data/lib/formatters/diff_html.rb +4 -2
- data/lib/models/line.rb +12 -9
- data/spec/diffed_spec.rb +2 -2
- data/testdata/diff1.styled.html +24 -24
- data/testdata/diff2.classed.html +1 -1
- data/testdata/diff2.styled.html +10 -10
- data/testdata/git-show.styled.html +82 -82
- data/testdata/p4-describe.styled.html +82 -82
- metadata +10 -10
data/lib/diffed/version.rb
CHANGED
data/lib/formatters/diff_html.rb
CHANGED
@@ -13,10 +13,12 @@ module Diffed
|
|
13
13
|
private
|
14
14
|
def format_styled_row(bg_color, text_color, row, opts = {})
|
15
15
|
row_styles = []
|
16
|
+
row_styles << "border-top: 3px solid #{opts[:border_color]}" if opts[:highlight]
|
17
|
+
row_styles << "border-bottom: 3px solid #{opts[:border_color]}" if opts[:highlight]
|
16
18
|
row_styles << "background-color: #{bg_color}" unless bg_color.nil?
|
17
19
|
row_styles << "font-weight: bold" if opts[:highlight]
|
18
20
|
|
19
|
-
row_style_attr = row_styles.empty? ? "" : %Q{ style="#{row_styles.join('; ')}"
|
21
|
+
row_style_attr = row_styles.empty? ? "" : %Q{ style="#{row_styles.join('; ')}"}
|
20
22
|
text_color = text_color
|
21
23
|
|
22
24
|
border = '1px solid #CCC'
|
@@ -36,7 +38,7 @@ EOS
|
|
36
38
|
|
37
39
|
def make_table_tag(inline_styles)
|
38
40
|
if inline_styles
|
39
|
-
table_attributes = %Q{cellpadding="5" style="border-collapse: collapse; border: 1px solid \#CCC; font-family: Consolas, courier, monospace; font-size: 11px; color: #888"}
|
41
|
+
table_attributes = %Q{cellpadding="5" style="border-collapse: collapse; border: 1px solid \#CCC; font-family: Consolas, courier, monospace; font-size: 11px; color: #888; line-height: 80%"}
|
40
42
|
else
|
41
43
|
table_attributes = %Q{class="coloured-diff"}
|
42
44
|
end
|
data/lib/models/line.rb
CHANGED
@@ -31,21 +31,24 @@ module Diffed
|
|
31
31
|
row = OutputRow.new(:code_line => self)
|
32
32
|
|
33
33
|
if use_inline_styles
|
34
|
-
format_styled_row
|
34
|
+
format_styled_row code_line_color(highlight), '#000', row, :highlight => highlight, :border_color => border_color
|
35
35
|
else
|
36
36
|
format_classed_row type.to_s, row, :highlight => highlight
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
def
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
when :both
|
47
|
-
nil
|
40
|
+
def code_line_color(highlight)
|
41
|
+
if highlight && type == :both
|
42
|
+
'#FFFBCC'
|
43
|
+
else
|
44
|
+
colors = {left: '#FDD', right: '#DFD', both: nil}
|
45
|
+
colors[type]
|
48
46
|
end
|
49
47
|
end
|
48
|
+
|
49
|
+
def border_color
|
50
|
+
border_colors = {left: '#F55', right: '#5F5', both: '#999'}
|
51
|
+
border_colors[type]
|
52
|
+
end
|
50
53
|
end
|
51
54
|
end
|
data/spec/diffed_spec.rb
CHANGED
@@ -32,7 +32,7 @@ describe "Diffed::Diff.as_html_table" do
|
|
32
32
|
it "renders an html table with two highlighted rows, using inline styles" do
|
33
33
|
diff = Diffed.from_text(File.read("testdata/diff2.diff"))
|
34
34
|
section1 = diff.sections[0]
|
35
|
-
output = section1.as_html_table(true, [9,11])
|
35
|
+
output = section1.as_html_table(true, [5, 9,11])
|
36
36
|
# File.open("wtf5.html", "w") {|f| f.write(output)}
|
37
37
|
output.strip.should eq File.read("testdata/diff2.styled.html").strip
|
38
38
|
end
|
@@ -40,7 +40,7 @@ describe "Diffed::Diff.as_html_table" do
|
|
40
40
|
it "renders an html table with two highlighted rows, using CSS classes" do
|
41
41
|
diff = Diffed.from_text(File.read("testdata/diff2.diff"))
|
42
42
|
section1 = diff.sections[0]
|
43
|
-
output = section1.as_html_table(false, [9, 11])
|
43
|
+
output = section1.as_html_table(false, [5, 9, 11])
|
44
44
|
# File.open("wtf6.html", "w") {|f| f.write(output)}
|
45
45
|
output.strip.should eq File.read("testdata/diff2.classed.html").strip
|
46
46
|
end
|
data/testdata/diff1.styled.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
<table cellpadding="5" style="border-collapse: collapse; border: 1px solid #CCC; font-family: Consolas, courier, monospace; font-size: 11px; color: #888">
|
2
|
-
<tr style="background-color: #F0F0FF"
|
1
|
+
<table cellpadding="5" style="border-collapse: collapse; border: 1px solid #CCC; font-family: Consolas, courier, monospace; font-size: 11px; color: #888; line-height: 80%">
|
2
|
+
<tr style="background-color: #F0F0FF">
|
3
3
|
<td style="border-left: 1px solid #CCC">...</td>
|
4
4
|
<td style="border-left: 1px solid #CCC">...</td>
|
5
5
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -1,22 +1,22 @@</pre></td>
|
@@ -14,12 +14,12 @@
|
|
14
14
|
<td style="border-left: 1px solid #CCC">2</td>
|
15
15
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> # Represent a single piece of a diff.</pre></td>
|
16
16
|
</tr>
|
17
|
-
<tr style="background-color: #FDD"
|
17
|
+
<tr style="background-color: #FDD">
|
18
18
|
<td style="border-left: 1px solid #CCC">3</td>
|
19
19
|
<td style="border-left: 1px solid #CCC">.</td>
|
20
20
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>-# </pre></td>
|
21
21
|
</tr>
|
22
|
-
<tr style="background-color: #DFD"
|
22
|
+
<tr style="background-color: #DFD">
|
23
23
|
<td style="border-left: 1px solid #CCC">.</td>
|
24
24
|
<td style="border-left: 1px solid #CCC">3</td>
|
25
25
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+#</pre></td>
|
@@ -34,12 +34,12 @@
|
|
34
34
|
<td style="border-left: 1px solid #CCC">5</td>
|
35
35
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> attr_reader :diff, :meta_info, :input, :lines</pre></td>
|
36
36
|
</tr>
|
37
|
-
<tr style="background-color: #FDD"
|
37
|
+
<tr style="background-color: #FDD">
|
38
38
|
<td style="border-left: 1px solid #CCC">6</td>
|
39
39
|
<td style="border-left: 1px solid #CCC">.</td>
|
40
40
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- </pre></td>
|
41
41
|
</tr>
|
42
|
-
<tr style="background-color: #DFD"
|
42
|
+
<tr style="background-color: #DFD">
|
43
43
|
<td style="border-left: 1px solid #CCC">.</td>
|
44
44
|
<td style="border-left: 1px solid #CCC">6</td>
|
45
45
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+</pre></td>
|
@@ -69,12 +69,12 @@
|
|
69
69
|
<td style="border-left: 1px solid #CCC">11</td>
|
70
70
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> end</pre></td>
|
71
71
|
</tr>
|
72
|
-
<tr style="background-color: #FDD"
|
72
|
+
<tr style="background-color: #FDD">
|
73
73
|
<td style="border-left: 1px solid #CCC">12</td>
|
74
74
|
<td style="border-left: 1px solid #CCC">.</td>
|
75
75
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- </pre></td>
|
76
76
|
</tr>
|
77
|
-
<tr style="background-color: #DFD"
|
77
|
+
<tr style="background-color: #DFD">
|
78
78
|
<td style="border-left: 1px solid #CCC">.</td>
|
79
79
|
<td style="border-left: 1px solid #CCC">12</td>
|
80
80
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+</pre></td>
|
@@ -109,12 +109,12 @@
|
|
109
109
|
<td style="border-left: 1px solid #CCC">18</td>
|
110
110
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> end</pre></td>
|
111
111
|
</tr>
|
112
|
-
<tr style="background-color: #FDD"
|
112
|
+
<tr style="background-color: #FDD">
|
113
113
|
<td style="border-left: 1px solid #CCC">19</td>
|
114
114
|
<td style="border-left: 1px solid #CCC">.</td>
|
115
115
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- </pre></td>
|
116
116
|
</tr>
|
117
|
-
<tr style="background-color: #DFD"
|
117
|
+
<tr style="background-color: #DFD">
|
118
118
|
<td style="border-left: 1px solid #CCC">.</td>
|
119
119
|
<td style="border-left: 1px solid #CCC">19</td>
|
120
120
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+</pre></td>
|
@@ -134,7 +134,7 @@
|
|
134
134
|
<td style="border-left: 1px solid #CCC">22</td>
|
135
135
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> #</pre></td>
|
136
136
|
</tr>
|
137
|
-
<tr style="background-color: #F0F0FF"
|
137
|
+
<tr style="background-color: #F0F0FF">
|
138
138
|
<td style="border-left: 1px solid #CCC">...</td>
|
139
139
|
<td style="border-left: 1px solid #CCC">...</td>
|
140
140
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -25,7 +25,7 @@ class PrettyDiff::Chunk #:nodoc:</pre></td>
|
@@ -154,12 +154,12 @@
|
|
154
154
|
<td style="border-left: 1px solid #CCC">27</td>
|
155
155
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> end</pre></td>
|
156
156
|
</tr>
|
157
|
-
<tr style="background-color: #FDD"
|
157
|
+
<tr style="background-color: #FDD">
|
158
158
|
<td style="border-left: 1px solid #CCC">28</td>
|
159
159
|
<td style="border-left: 1px solid #CCC">.</td>
|
160
160
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- </pre></td>
|
161
161
|
</tr>
|
162
|
-
<tr style="background-color: #DFD"
|
162
|
+
<tr style="background-color: #DFD">
|
163
163
|
<td style="border-left: 1px solid #CCC">.</td>
|
164
164
|
<td style="border-left: 1px solid #CCC">28</td>
|
165
165
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+</pre></td>
|
@@ -179,7 +179,7 @@
|
|
179
179
|
<td style="border-left: 1px solid #CCC">31</td>
|
180
180
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> def generator</pre></td>
|
181
181
|
</tr>
|
182
|
-
<tr style="background-color: #F0F0FF"
|
182
|
+
<tr style="background-color: #F0F0FF">
|
183
183
|
<td style="border-left: 1px solid #CCC">...</td>
|
184
184
|
<td style="border-left: 1px solid #CCC">...</td>
|
185
185
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -35,9 +35,10 @@ private</pre></td>
|
@@ -199,37 +199,37 @@
|
|
199
199
|
<td style="border-left: 1px solid #CCC">37</td>
|
200
200
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> def find_lines!</pre></td>
|
201
201
|
</tr>
|
202
|
-
<tr style="background-color: #FDD"
|
202
|
+
<tr style="background-color: #FDD">
|
203
203
|
<td style="border-left: 1px solid #CCC">38</td>
|
204
204
|
<td style="border-left: 1px solid #CCC">.</td>
|
205
205
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- returning(@lines = []) do</pre></td>
|
206
206
|
</tr>
|
207
|
-
<tr style="background-color: #FDD"
|
207
|
+
<tr style="background-color: #FDD">
|
208
208
|
<td style="border-left: 1px solid #CCC">39</td>
|
209
209
|
<td style="border-left: 1px solid #CCC">.</td>
|
210
210
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- input.split(/\r?\n/).each_with_index do |line_str, idx|</pre></td>
|
211
211
|
</tr>
|
212
|
-
<tr style="background-color: #FDD"
|
212
|
+
<tr style="background-color: #FDD">
|
213
213
|
<td style="border-left: 1px solid #CCC">40</td>
|
214
214
|
<td style="border-left: 1px solid #CCC">.</td>
|
215
215
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- line = PrettyDiff::Line.new(diff, line_str, :number => idx)</pre></td>
|
216
216
|
</tr>
|
217
|
-
<tr style="background-color: #DFD"
|
217
|
+
<tr style="background-color: #DFD">
|
218
218
|
<td style="border-left: 1px solid #CCC">.</td>
|
219
219
|
<td style="border-left: 1px solid #CCC">38</td>
|
220
220
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ @lines = []</pre></td>
|
221
221
|
</tr>
|
222
|
-
<tr style="background-color: #DFD"
|
222
|
+
<tr style="background-color: #DFD">
|
223
223
|
<td style="border-left: 1px solid #CCC">.</td>
|
224
224
|
<td style="border-left: 1px solid #CCC">39</td>
|
225
225
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ @lines.tap do</pre></td>
|
226
226
|
</tr>
|
227
|
-
<tr style="background-color: #DFD"
|
227
|
+
<tr style="background-color: #DFD">
|
228
228
|
<td style="border-left: 1px solid #CCC">.</td>
|
229
229
|
<td style="border-left: 1px solid #CCC">40</td>
|
230
230
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ input.split(/\r?\n/).each do |line_str|</pre></td>
|
231
231
|
</tr>
|
232
|
-
<tr style="background-color: #DFD"
|
232
|
+
<tr style="background-color: #DFD">
|
233
233
|
<td style="border-left: 1px solid #CCC">.</td>
|
234
234
|
<td style="border-left: 1px solid #CCC">41</td>
|
235
235
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ line = PrettyDiff::Line.new(diff, line_str)</pre></td>
|
@@ -249,7 +249,7 @@
|
|
249
249
|
<td style="border-left: 1px solid #CCC">44</td>
|
250
250
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> line_numbers.act_on_line(line)</pre></td>
|
251
251
|
</tr>
|
252
|
-
<tr style="background-color: #F0F0FF"
|
252
|
+
<tr style="background-color: #F0F0FF">
|
253
253
|
<td style="border-left: 1px solid #CCC">...</td>
|
254
254
|
<td style="border-left: 1px solid #CCC">...</td>
|
255
255
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -45,4 +46,4 @@ private</pre></td>
|
@@ -269,12 +269,12 @@
|
|
269
269
|
<td style="border-left: 1px solid #CCC">48</td>
|
270
270
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
271
271
|
</tr>
|
272
|
-
<tr style="background-color: #FDD"
|
272
|
+
<tr style="background-color: #FDD">
|
273
273
|
<td style="border-left: 1px solid #CCC">48</td>
|
274
274
|
<td style="border-left: 1px solid #CCC">.</td>
|
275
275
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>-end</pre></td>
|
276
276
|
</tr>
|
277
|
-
<tr style="background-color: #DFD"
|
277
|
+
<tr style="background-color: #DFD">
|
278
278
|
<td style="border-left: 1px solid #CCC">.</td>
|
279
279
|
<td style="border-left: 1px solid #CCC">49</td>
|
280
280
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+end</pre></td>
|
data/testdata/diff2.classed.html
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<tr class="both"><td>36</td><td>36</td><td><pre> # Return an array of Line objects.</pre></td></tr>
|
5
5
|
<tr class="both"><td>37</td><td>37</td><td><pre> def find_lines!</pre></td></tr>
|
6
6
|
<tr class="left"><td>38</td><td>.</td><td><pre>- returning(@lines = []) do</pre></td></tr>
|
7
|
-
<tr class="left"><td>39</td><td>.</td><td><pre>- input.split(/\r?\n/).each_with_index do |line_str, idx|</pre></td></tr>
|
7
|
+
<tr class="left highlight"><td>39</td><td>.</td><td><pre>- input.split(/\r?\n/).each_with_index do |line_str, idx|</pre></td></tr>
|
8
8
|
<tr class="left"><td>40</td><td>.</td><td><pre>- line = PrettyDiff::Line.new(diff, line_str, :number => idx)</pre></td></tr>
|
9
9
|
<tr class="right"><td>.</td><td>38</td><td><pre>+ @lines = []</pre></td></tr>
|
10
10
|
<tr class="right"><td>.</td><td>39</td><td><pre>+ @lines.tap do</pre></td></tr>
|
data/testdata/diff2.styled.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
<table cellpadding="5" style="border-collapse: collapse; border: 1px solid #CCC; font-family: Consolas, courier, monospace; font-size: 11px; color: #888">
|
2
|
-
<tr style="background-color: #F0F0FF"
|
1
|
+
<table cellpadding="5" style="border-collapse: collapse; border: 1px solid #CCC; font-family: Consolas, courier, monospace; font-size: 11px; color: #888; line-height: 80%">
|
2
|
+
<tr style="background-color: #F0F0FF">
|
3
3
|
<td style="border-left: 1px solid #CCC">...</td>
|
4
4
|
<td style="border-left: 1px solid #CCC">...</td>
|
5
5
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -35,9 +35,10 @@ private</pre></td>
|
@@ -19,42 +19,42 @@
|
|
19
19
|
<td style="border-left: 1px solid #CCC">37</td>
|
20
20
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> def find_lines!</pre></td>
|
21
21
|
</tr>
|
22
|
-
<tr style="background-color: #FDD"
|
22
|
+
<tr style="background-color: #FDD">
|
23
23
|
<td style="border-left: 1px solid #CCC">38</td>
|
24
24
|
<td style="border-left: 1px solid #CCC">.</td>
|
25
25
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- returning(@lines = []) do</pre></td>
|
26
26
|
</tr>
|
27
|
-
<tr style="background-color: #FDD"
|
27
|
+
<tr style="border-top: 3px solid #F55; border-bottom: 3px solid #F55; background-color: #FDD; font-weight: bold">
|
28
28
|
<td style="border-left: 1px solid #CCC">39</td>
|
29
29
|
<td style="border-left: 1px solid #CCC">.</td>
|
30
30
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- input.split(/\r?\n/).each_with_index do |line_str, idx|</pre></td>
|
31
31
|
</tr>
|
32
|
-
<tr style="background-color: #FDD"
|
32
|
+
<tr style="background-color: #FDD">
|
33
33
|
<td style="border-left: 1px solid #CCC">40</td>
|
34
34
|
<td style="border-left: 1px solid #CCC">.</td>
|
35
35
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- line = PrettyDiff::Line.new(diff, line_str, :number => idx)</pre></td>
|
36
36
|
</tr>
|
37
|
-
<tr style="background-color: #DFD"
|
37
|
+
<tr style="background-color: #DFD">
|
38
38
|
<td style="border-left: 1px solid #CCC">.</td>
|
39
39
|
<td style="border-left: 1px solid #CCC">38</td>
|
40
40
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ @lines = []</pre></td>
|
41
41
|
</tr>
|
42
|
-
<tr style="background-color: #DFD"
|
42
|
+
<tr style="background-color: #DFD">
|
43
43
|
<td style="border-left: 1px solid #CCC">.</td>
|
44
44
|
<td style="border-left: 1px solid #CCC">39</td>
|
45
45
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ @lines.tap do</pre></td>
|
46
46
|
</tr>
|
47
|
-
<tr style="background-color: #DFD; font-weight: bold"
|
47
|
+
<tr style="border-top: 3px solid #5F5; border-bottom: 3px solid #5F5; background-color: #DFD; font-weight: bold">
|
48
48
|
<td style="border-left: 1px solid #CCC">.</td>
|
49
49
|
<td style="border-left: 1px solid #CCC">40</td>
|
50
50
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ input.split(/\r?\n/).each do |line_str|</pre></td>
|
51
51
|
</tr>
|
52
|
-
<tr style="background-color: #DFD"
|
52
|
+
<tr style="background-color: #DFD">
|
53
53
|
<td style="border-left: 1px solid #CCC">.</td>
|
54
54
|
<td style="border-left: 1px solid #CCC">41</td>
|
55
55
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ line = PrettyDiff::Line.new(diff, line_str)</pre></td>
|
56
56
|
</tr>
|
57
|
-
<tr style="font-weight: bold"
|
57
|
+
<tr style="border-top: 3px solid #999; border-bottom: 3px solid #999; background-color: #FFFBCC; font-weight: bold">
|
58
58
|
<td style="border-left: 1px solid #CCC">41</td>
|
59
59
|
<td style="border-left: 1px solid #CCC">42</td>
|
60
60
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> next if line.ignore?</pre></td>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<table cellpadding="5" style="border-collapse: collapse; border: 1px solid #CCC; font-family: Consolas, courier, monospace; font-size: 11px; color: #888">
|
2
|
-
<tr style="background-color: #F0F0FF"
|
1
|
+
<table cellpadding="5" style="border-collapse: collapse; border: 1px solid #CCC; font-family: Consolas, courier, monospace; font-size: 11px; color: #888; line-height: 80%">
|
2
|
+
<tr style="background-color: #F0F0FF">
|
3
3
|
<td style="border-left: 1px solid #CCC">...</td>
|
4
4
|
<td style="border-left: 1px solid #CCC">...</td>
|
5
5
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -23,7 +23,6 @@ import static org.apache.commons.lang3.Validate.isTrue;</pre></td>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
<td style="border-left: 1px solid #CCC">25</td>
|
20
20
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> import java.io.IOException;</pre></td>
|
21
21
|
</tr>
|
22
|
-
<tr style="background-color: #FDD"
|
22
|
+
<tr style="background-color: #FDD">
|
23
23
|
<td style="border-left: 1px solid #CCC">26</td>
|
24
24
|
<td style="border-left: 1px solid #CCC">.</td>
|
25
25
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>-import java.io.InputStream;</pre></td>
|
@@ -39,7 +39,7 @@
|
|
39
39
|
<td style="border-left: 1px solid #CCC">28</td>
|
40
40
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> import java.lang.reflect.Method;</pre></td>
|
41
41
|
</tr>
|
42
|
-
<tr style="background-color: #F0F0FF"
|
42
|
+
<tr style="background-color: #F0F0FF">
|
43
43
|
<td style="border-left: 1px solid #CCC">...</td>
|
44
44
|
<td style="border-left: 1px solid #CCC">...</td>
|
45
45
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -75,7 +74,7 @@ abstract class BaseTemplate implements Template {</pre></td>
|
@@ -59,12 +59,12 @@
|
|
59
59
|
<td style="border-left: 1px solid #CCC">76</td>
|
60
60
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> */</pre></td>
|
61
61
|
</tr>
|
62
|
-
<tr style="background-color: #FDD"
|
62
|
+
<tr style="background-color: #FDD">
|
63
63
|
<td style="border-left: 1px solid #CCC">78</td>
|
64
64
|
<td style="border-left: 1px solid #CCC">.</td>
|
65
65
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- private static final Object JS_LOCK = new Object();</pre></td>
|
66
66
|
</tr>
|
67
|
-
<tr style="background-color: #DFD"
|
67
|
+
<tr style="background-color: #DFD">
|
68
68
|
<td style="border-left: 1px solid #CCC">.</td>
|
69
69
|
<td style="border-left: 1px solid #CCC">77</td>
|
70
70
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ private final Object jsLock = new Object();</pre></td>
|
@@ -84,7 +84,7 @@
|
|
84
84
|
<td style="border-left: 1px solid #CCC">80</td>
|
85
85
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> * A pre-compiled JavaScript function.</pre></td>
|
86
86
|
</tr>
|
87
|
-
<tr style="background-color: #F0F0FF"
|
87
|
+
<tr style="background-color: #F0F0FF">
|
88
88
|
<td style="border-left: 1px solid #CCC">...</td>
|
89
89
|
<td style="border-left: 1px solid #CCC">...</td>
|
90
90
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -85,12 +84,12 @@ abstract class BaseTemplate implements Template {</pre></td>
|
@@ -104,12 +104,12 @@
|
|
104
104
|
<td style="border-left: 1px solid #CCC">86</td>
|
105
105
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> */</pre></td>
|
106
106
|
</tr>
|
107
|
-
<tr style="background-color: #FDD"
|
107
|
+
<tr style="background-color: #FDD">
|
108
108
|
<td style="border-left: 1px solid #CCC">88</td>
|
109
109
|
<td style="border-left: 1px solid #CCC">.</td>
|
110
110
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- private static final String HBS_FILE = "/handlebars-1.0.rc.3.js";</pre></td>
|
111
111
|
</tr>
|
112
|
-
<tr style="background-color: #DFD"
|
112
|
+
<tr style="background-color: #DFD">
|
113
113
|
<td style="border-left: 1px solid #CCC">.</td>
|
114
114
|
<td style="border-left: 1px solid #CCC">87</td>
|
115
115
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ private static final String HBS_FILE = "/handlebars-1.0.0.js";</pre></td>
|
@@ -134,12 +134,12 @@
|
|
134
134
|
<td style="border-left: 1px solid #CCC">91</td>
|
135
135
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> */</pre></td>
|
136
136
|
</tr>
|
137
|
-
<tr style="background-color: #FDD"
|
137
|
+
<tr style="background-color: #FDD">
|
138
138
|
<td style="border-left: 1px solid #CCC">93</td>
|
139
139
|
<td style="border-left: 1px solid #CCC">.</td>
|
140
140
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- private static ScriptableObject sharedScope;</pre></td>
|
141
141
|
</tr>
|
142
|
-
<tr style="background-color: #DFD"
|
142
|
+
<tr style="background-color: #DFD">
|
143
143
|
<td style="border-left: 1px solid #CCC">.</td>
|
144
144
|
<td style="border-left: 1px solid #CCC">92</td>
|
145
145
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ private ScriptableObject sharedScope;</pre></td>
|
@@ -159,7 +159,7 @@
|
|
159
159
|
<td style="border-left: 1px solid #CCC">95</td>
|
160
160
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> * {@inheritDoc}</pre></td>
|
161
161
|
</tr>
|
162
|
-
<tr style="background-color: #F0F0FF"
|
162
|
+
<tr style="background-color: #F0F0FF">
|
163
163
|
<td style="border-left: 1px solid #CCC">...</td>
|
164
164
|
<td style="border-left: 1px solid #CCC">...</td>
|
165
165
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -287,7 +286,7 @@ abstract class BaseTemplate implements Template {</pre></td>
|
@@ -179,12 +179,12 @@
|
|
179
179
|
<td style="border-left: 1px solid #CCC">288</td>
|
180
180
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> public String toJavaScript() throws IOException {</pre></td>
|
181
181
|
</tr>
|
182
|
-
<tr style="background-color: #FDD"
|
182
|
+
<tr style="background-color: #FDD">
|
183
183
|
<td style="border-left: 1px solid #CCC">290</td>
|
184
184
|
<td style="border-left: 1px solid #CCC">.</td>
|
185
185
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- synchronized (JS_LOCK) {</pre></td>
|
186
186
|
</tr>
|
187
|
-
<tr style="background-color: #DFD"
|
187
|
+
<tr style="background-color: #DFD">
|
188
188
|
<td style="border-left: 1px solid #CCC">.</td>
|
189
189
|
<td style="border-left: 1px solid #CCC">289</td>
|
190
190
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ synchronized (jsLock) {</pre></td>
|
@@ -204,7 +204,7 @@
|
|
204
204
|
<td style="border-left: 1px solid #CCC">292</td>
|
205
205
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> try {</pre></td>
|
206
206
|
</tr>
|
207
|
-
<tr style="background-color: #F0F0FF"
|
207
|
+
<tr style="background-color: #F0F0FF">
|
208
208
|
<td style="border-left: 1px solid #CCC">...</td>
|
209
209
|
<td style="border-left: 1px solid #CCC">...</td>
|
210
210
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -330,7 +329,7 @@ abstract class BaseTemplate implements Template {</pre></td>
|
@@ -224,12 +224,12 @@
|
|
224
224
|
<td style="border-left: 1px solid #CCC">331</td>
|
225
225
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> */</pre></td>
|
226
226
|
</tr>
|
227
|
-
<tr style="background-color: #FDD"
|
227
|
+
<tr style="background-color: #FDD">
|
228
228
|
<td style="border-left: 1px solid #CCC">333</td>
|
229
229
|
<td style="border-left: 1px solid #CCC">.</td>
|
230
230
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- private static Scriptable newScope(final org.mozilla.javascript.Context ctx) {</pre></td>
|
231
231
|
</tr>
|
232
|
-
<tr style="background-color: #DFD"
|
232
|
+
<tr style="background-color: #DFD">
|
233
233
|
<td style="border-left: 1px solid #CCC">.</td>
|
234
234
|
<td style="border-left: 1px solid #CCC">332</td>
|
235
235
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ private Scriptable newScope(final org.mozilla.javascript.Context ctx) {</pre></td>
|
@@ -249,7 +249,7 @@
|
|
249
249
|
<td style="border-left: 1px solid #CCC">335</td>
|
250
250
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> scope.setParentScope(null);</pre></td>
|
251
251
|
</tr>
|
252
|
-
<tr style="background-color: #F0F0FF"
|
252
|
+
<tr style="background-color: #F0F0FF">
|
253
253
|
<td style="border-left: 1px solid #CCC">...</td>
|
254
254
|
<td style="border-left: 1px solid #CCC">...</td>
|
255
255
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -345,12 +344,10 @@ abstract class BaseTemplate implements Template {</pre></td>
|
@@ -269,17 +269,17 @@
|
|
269
269
|
<td style="border-left: 1px solid #CCC">346</td>
|
270
270
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> */</pre></td>
|
271
271
|
</tr>
|
272
|
-
<tr style="background-color: #FDD"
|
272
|
+
<tr style="background-color: #FDD">
|
273
273
|
<td style="border-left: 1px solid #CCC">348</td>
|
274
274
|
<td style="border-left: 1px solid #CCC">.</td>
|
275
275
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- private static Scriptable</pre></td>
|
276
276
|
</tr>
|
277
|
-
<tr style="background-color: #FDD"
|
277
|
+
<tr style="background-color: #FDD">
|
278
278
|
<td style="border-left: 1px solid #CCC">349</td>
|
279
279
|
<td style="border-left: 1px solid #CCC">.</td>
|
280
280
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- sharedScope(final org.mozilla.javascript.Context ctx) {</pre></td>
|
281
281
|
</tr>
|
282
|
-
<tr style="background-color: #DFD"
|
282
|
+
<tr style="background-color: #DFD">
|
283
283
|
<td style="border-left: 1px solid #CCC">.</td>
|
284
284
|
<td style="border-left: 1px solid #CCC">347</td>
|
285
285
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ private Scriptable sharedScope(final org.mozilla.javascript.Context ctx) {</pre></td>
|
@@ -294,17 +294,17 @@
|
|
294
294
|
<td style="border-left: 1px solid #CCC">349</td>
|
295
295
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> sharedScope = ctx.initStandardObjects();</pre></td>
|
296
296
|
</tr>
|
297
|
-
<tr style="background-color: #FDD"
|
297
|
+
<tr style="background-color: #FDD">
|
298
298
|
<td style="border-left: 1px solid #CCC">352</td>
|
299
299
|
<td style="border-left: 1px solid #CCC">.</td>
|
300
300
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- ctx.evaluateString(sharedScope, handlebarsScript(HBS_FILE), HBS_FILE, 1,</pre></td>
|
301
301
|
</tr>
|
302
|
-
<tr style="background-color: #FDD"
|
302
|
+
<tr style="background-color: #FDD">
|
303
303
|
<td style="border-left: 1px solid #CCC">353</td>
|
304
304
|
<td style="border-left: 1px solid #CCC">.</td>
|
305
305
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- null);</pre></td>
|
306
306
|
</tr>
|
307
|
-
<tr style="background-color: #DFD"
|
307
|
+
<tr style="background-color: #DFD">
|
308
308
|
<td style="border-left: 1px solid #CCC">.</td>
|
309
309
|
<td style="border-left: 1px solid #CCC">350</td>
|
310
310
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ ctx.evaluateString(sharedScope, handlebarsScript(HBS_FILE), HBS_FILE, 1, null);</pre></td>
|
@@ -324,7 +324,7 @@
|
|
324
324
|
<td style="border-left: 1px solid #CCC">353</td>
|
325
325
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> }</pre></td>
|
326
326
|
</tr>
|
327
|
-
<tr style="background-color: #F0F0FF"
|
327
|
+
<tr style="background-color: #F0F0FF">
|
328
328
|
<td style="border-left: 1px solid #CCC">...</td>
|
329
329
|
<td style="border-left: 1px solid #CCC">...</td>
|
330
330
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -361,25 +358,11 @@ abstract class BaseTemplate implements Template {</pre></td>
|
@@ -344,22 +344,22 @@
|
|
344
344
|
<td style="border-left: 1px solid #CCC">360</td>
|
345
345
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> */</pre></td>
|
346
346
|
</tr>
|
347
|
-
<tr style="background-color: #FDD"
|
347
|
+
<tr style="background-color: #FDD">
|
348
348
|
<td style="border-left: 1px solid #CCC">364</td>
|
349
349
|
<td style="border-left: 1px solid #CCC">.</td>
|
350
350
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- private static String handlebarsScript(final String location) {</pre></td>
|
351
351
|
</tr>
|
352
|
-
<tr style="background-color: #FDD"
|
352
|
+
<tr style="background-color: #FDD">
|
353
353
|
<td style="border-left: 1px solid #CCC">365</td>
|
354
354
|
<td style="border-left: 1px solid #CCC">.</td>
|
355
355
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- InputStream in = BaseTemplate.class.getResourceAsStream(location);</pre></td>
|
356
356
|
</tr>
|
357
|
-
<tr style="background-color: #FDD"
|
357
|
+
<tr style="background-color: #FDD">
|
358
358
|
<td style="border-left: 1px solid #CCC">366</td>
|
359
359
|
<td style="border-left: 1px solid #CCC">.</td>
|
360
360
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- notNull(in, "Handlebars.js script not found at " + location);</pre></td>
|
361
361
|
</tr>
|
362
|
-
<tr style="background-color: #DFD"
|
362
|
+
<tr style="background-color: #DFD">
|
363
363
|
<td style="border-left: 1px solid #CCC">.</td>
|
364
364
|
<td style="border-left: 1px solid #CCC">361</td>
|
365
365
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ private String handlebarsScript(final String location) {</pre></td>
|
@@ -369,42 +369,42 @@
|
|
369
369
|
<td style="border-left: 1px solid #CCC">362</td>
|
370
370
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> try {</pre></td>
|
371
371
|
</tr>
|
372
|
-
<tr style="background-color: #FDD"
|
372
|
+
<tr style="background-color: #FDD">
|
373
373
|
<td style="border-left: 1px solid #CCC">368</td>
|
374
374
|
<td style="border-left: 1px solid #CCC">.</td>
|
375
375
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- int ch = in.read();</pre></td>
|
376
376
|
</tr>
|
377
|
-
<tr style="background-color: #FDD"
|
377
|
+
<tr style="background-color: #FDD">
|
378
378
|
<td style="border-left: 1px solid #CCC">369</td>
|
379
379
|
<td style="border-left: 1px solid #CCC">.</td>
|
380
380
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- StringBuilder script = new StringBuilder();</pre></td>
|
381
381
|
</tr>
|
382
|
-
<tr style="background-color: #FDD"
|
382
|
+
<tr style="background-color: #FDD">
|
383
383
|
<td style="border-left: 1px solid #CCC">370</td>
|
384
384
|
<td style="border-left: 1px solid #CCC">.</td>
|
385
385
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- while (ch != -1) {</pre></td>
|
386
386
|
</tr>
|
387
|
-
<tr style="background-color: #FDD"
|
387
|
+
<tr style="background-color: #FDD">
|
388
388
|
<td style="border-left: 1px solid #CCC">371</td>
|
389
389
|
<td style="border-left: 1px solid #CCC">.</td>
|
390
390
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- script.append((char) ch);</pre></td>
|
391
391
|
</tr>
|
392
|
-
<tr style="background-color: #FDD"
|
392
|
+
<tr style="background-color: #FDD">
|
393
393
|
<td style="border-left: 1px solid #CCC">372</td>
|
394
394
|
<td style="border-left: 1px solid #CCC">.</td>
|
395
395
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- ch = in.read();</pre></td>
|
396
396
|
</tr>
|
397
|
-
<tr style="background-color: #FDD"
|
397
|
+
<tr style="background-color: #FDD">
|
398
398
|
<td style="border-left: 1px solid #CCC">373</td>
|
399
399
|
<td style="border-left: 1px solid #CCC">.</td>
|
400
400
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- }</pre></td>
|
401
401
|
</tr>
|
402
|
-
<tr style="background-color: #FDD"
|
402
|
+
<tr style="background-color: #FDD">
|
403
403
|
<td style="border-left: 1px solid #CCC">374</td>
|
404
404
|
<td style="border-left: 1px solid #CCC">.</td>
|
405
405
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- return script.toString();</pre></td>
|
406
406
|
</tr>
|
407
|
-
<tr style="background-color: #DFD"
|
407
|
+
<tr style="background-color: #DFD">
|
408
408
|
<td style="border-left: 1px solid #CCC">.</td>
|
409
409
|
<td style="border-left: 1px solid #CCC">363</td>
|
410
410
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ return Files.read(location);</pre></td>
|
@@ -414,42 +414,42 @@
|
|
414
414
|
<td style="border-left: 1px solid #CCC">364</td>
|
415
415
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> } catch (IOException ex) {</pre></td>
|
416
416
|
</tr>
|
417
|
-
<tr style="background-color: #FDD"
|
417
|
+
<tr style="background-color: #FDD">
|
418
418
|
<td style="border-left: 1px solid #CCC">376</td>
|
419
419
|
<td style="border-left: 1px solid #CCC">.</td>
|
420
420
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- throw new IllegalStateException("Unable to read file " + location);</pre></td>
|
421
421
|
</tr>
|
422
|
-
<tr style="background-color: #FDD"
|
422
|
+
<tr style="background-color: #FDD">
|
423
423
|
<td style="border-left: 1px solid #CCC">377</td>
|
424
424
|
<td style="border-left: 1px solid #CCC">.</td>
|
425
425
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- } finally {</pre></td>
|
426
426
|
</tr>
|
427
|
-
<tr style="background-color: #FDD"
|
427
|
+
<tr style="background-color: #FDD">
|
428
428
|
<td style="border-left: 1px solid #CCC">378</td>
|
429
429
|
<td style="border-left: 1px solid #CCC">.</td>
|
430
430
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- try {</pre></td>
|
431
431
|
</tr>
|
432
|
-
<tr style="background-color: #FDD"
|
432
|
+
<tr style="background-color: #FDD">
|
433
433
|
<td style="border-left: 1px solid #CCC">379</td>
|
434
434
|
<td style="border-left: 1px solid #CCC">.</td>
|
435
435
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- in.close();</pre></td>
|
436
436
|
</tr>
|
437
|
-
<tr style="background-color: #FDD"
|
437
|
+
<tr style="background-color: #FDD">
|
438
438
|
<td style="border-left: 1px solid #CCC">380</td>
|
439
439
|
<td style="border-left: 1px solid #CCC">.</td>
|
440
440
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- } catch (IOException ex) {</pre></td>
|
441
441
|
</tr>
|
442
|
-
<tr style="background-color: #FDD"
|
442
|
+
<tr style="background-color: #FDD">
|
443
443
|
<td style="border-left: 1px solid #CCC">381</td>
|
444
444
|
<td style="border-left: 1px solid #CCC">.</td>
|
445
445
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- throw new IllegalStateException("Unable to close file " + location);</pre></td>
|
446
446
|
</tr>
|
447
|
-
<tr style="background-color: #FDD"
|
447
|
+
<tr style="background-color: #FDD">
|
448
448
|
<td style="border-left: 1px solid #CCC">382</td>
|
449
449
|
<td style="border-left: 1px solid #CCC">.</td>
|
450
450
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- }</pre></td>
|
451
451
|
</tr>
|
452
|
-
<tr style="background-color: #DFD"
|
452
|
+
<tr style="background-color: #DFD">
|
453
453
|
<td style="border-left: 1px solid #CCC">.</td>
|
454
454
|
<td style="border-left: 1px solid #CCC">365</td>
|
455
455
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ throw new IllegalArgumentException("Unable to read file: " + location, ex);</pre></td>
|
@@ -469,7 +469,7 @@
|
|
469
469
|
<td style="border-left: 1px solid #CCC">368</td>
|
470
470
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> }</pre></td>
|
471
471
|
</tr>
|
472
|
-
<tr style="background-color: #F0F0FF"
|
472
|
+
<tr style="background-color: #F0F0FF">
|
473
473
|
<td style="border-left: 1px solid #CCC">...</td>
|
474
474
|
<td style="border-left: 1px solid #CCC">...</td>
|
475
475
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #888"><pre>@@ -2,32 +2,32 @@ package com.github.jknack.handlebars;</pre></td>
|
@@ -489,12 +489,12 @@
|
|
489
489
|
<td style="border-left: 1px solid #CCC">4</td>
|
490
490
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
491
491
|
</tr>
|
492
|
-
<tr style="background-color: #FDD"
|
492
|
+
<tr style="background-color: #FDD">
|
493
493
|
<td style="border-left: 1px solid #CCC">5</td>
|
494
494
|
<td style="border-left: 1px solid #CCC">.</td>
|
495
495
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>-import org.junit.Test;</pre></td>
|
496
496
|
</tr>
|
497
|
-
<tr style="background-color: #FDD"
|
497
|
+
<tr style="background-color: #FDD">
|
498
498
|
<td style="border-left: 1px solid #CCC">6</td>
|
499
499
|
<td style="border-left: 1px solid #CCC">.</td>
|
500
500
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>-</pre></td>
|
@@ -509,12 +509,12 @@
|
|
509
509
|
<td style="border-left: 1px solid #CCC">6</td>
|
510
510
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
511
511
|
</tr>
|
512
|
-
<tr style="background-color: #DFD"
|
512
|
+
<tr style="background-color: #DFD">
|
513
513
|
<td style="border-left: 1px solid #CCC">.</td>
|
514
514
|
<td style="border-left: 1px solid #CCC">7</td>
|
515
515
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+import org.junit.Test;</pre></td>
|
516
516
|
</tr>
|
517
|
-
<tr style="background-color: #DFD"
|
517
|
+
<tr style="background-color: #DFD">
|
518
518
|
<td style="border-left: 1px solid #CCC">.</td>
|
519
519
|
<td style="border-left: 1px solid #CCC">8</td>
|
520
520
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+</pre></td>
|
@@ -529,22 +529,22 @@
|
|
529
529
|
<td style="border-left: 1px solid #CCC">10</td>
|
530
530
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
531
531
|
</tr>
|
532
|
-
<tr style="background-color: #FDD"
|
532
|
+
<tr style="background-color: #FDD">
|
533
533
|
<td style="border-left: 1px solid #CCC">11</td>
|
534
534
|
<td style="border-left: 1px solid #CCC">.</td>
|
535
535
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- public static class UnsafeString {</pre></td>
|
536
536
|
</tr>
|
537
|
-
<tr style="background-color: #FDD"
|
537
|
+
<tr style="background-color: #FDD">
|
538
538
|
<td style="border-left: 1px solid #CCC">12</td>
|
539
539
|
<td style="border-left: 1px solid #CCC">.</td>
|
540
540
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- String underlying;</pre></td>
|
541
541
|
</tr>
|
542
|
-
<tr style="background-color: #DFD"
|
542
|
+
<tr style="background-color: #DFD">
|
543
543
|
<td style="border-left: 1px solid #CCC">.</td>
|
544
544
|
<td style="border-left: 1px solid #CCC">11</td>
|
545
545
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ public static class UnsafeString {</pre></td>
|
546
546
|
</tr>
|
547
|
-
<tr style="background-color: #DFD"
|
547
|
+
<tr style="background-color: #DFD">
|
548
548
|
<td style="border-left: 1px solid #CCC">.</td>
|
549
549
|
<td style="border-left: 1px solid #CCC">12</td>
|
550
550
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ String underlying;</pre></td>
|
@@ -554,32 +554,32 @@
|
|
554
554
|
<td style="border-left: 1px solid #CCC">13</td>
|
555
555
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
556
556
|
</tr>
|
557
|
-
<tr style="background-color: #FDD"
|
557
|
+
<tr style="background-color: #FDD">
|
558
558
|
<td style="border-left: 1px solid #CCC">14</td>
|
559
559
|
<td style="border-left: 1px solid #CCC">.</td>
|
560
560
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- public UnsafeString(String underlying) {</pre></td>
|
561
561
|
</tr>
|
562
|
-
<tr style="background-color: #FDD"
|
562
|
+
<tr style="background-color: #FDD">
|
563
563
|
<td style="border-left: 1px solid #CCC">15</td>
|
564
564
|
<td style="border-left: 1px solid #CCC">.</td>
|
565
565
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- this.underlying = underlying;</pre></td>
|
566
566
|
</tr>
|
567
|
-
<tr style="background-color: #FDD"
|
567
|
+
<tr style="background-color: #FDD">
|
568
568
|
<td style="border-left: 1px solid #CCC">16</td>
|
569
569
|
<td style="border-left: 1px solid #CCC">.</td>
|
570
570
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- }</pre></td>
|
571
571
|
</tr>
|
572
|
-
<tr style="background-color: #DFD"
|
572
|
+
<tr style="background-color: #DFD">
|
573
573
|
<td style="border-left: 1px solid #CCC">.</td>
|
574
574
|
<td style="border-left: 1px solid #CCC">14</td>
|
575
575
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ public UnsafeString(final String underlying) {</pre></td>
|
576
576
|
</tr>
|
577
|
-
<tr style="background-color: #DFD"
|
577
|
+
<tr style="background-color: #DFD">
|
578
578
|
<td style="border-left: 1px solid #CCC">.</td>
|
579
579
|
<td style="border-left: 1px solid #CCC">15</td>
|
580
580
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ this.underlying = underlying;</pre></td>
|
581
581
|
</tr>
|
582
|
-
<tr style="background-color: #DFD"
|
582
|
+
<tr style="background-color: #DFD">
|
583
583
|
<td style="border-left: 1px solid #CCC">.</td>
|
584
584
|
<td style="border-left: 1px solid #CCC">16</td>
|
585
585
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ }</pre></td>
|
@@ -589,37 +589,37 @@
|
|
589
589
|
<td style="border-left: 1px solid #CCC">17</td>
|
590
590
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
591
591
|
</tr>
|
592
|
-
<tr style="background-color: #FDD"
|
592
|
+
<tr style="background-color: #FDD">
|
593
593
|
<td style="border-left: 1px solid #CCC">18</td>
|
594
594
|
<td style="border-left: 1px solid #CCC">.</td>
|
595
595
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- @Override</pre></td>
|
596
596
|
</tr>
|
597
|
-
<tr style="background-color: #FDD"
|
597
|
+
<tr style="background-color: #FDD">
|
598
598
|
<td style="border-left: 1px solid #CCC">19</td>
|
599
599
|
<td style="border-left: 1px solid #CCC">.</td>
|
600
600
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- public String toString() {</pre></td>
|
601
601
|
</tr>
|
602
|
-
<tr style="background-color: #FDD"
|
602
|
+
<tr style="background-color: #FDD">
|
603
603
|
<td style="border-left: 1px solid #CCC">20</td>
|
604
604
|
<td style="border-left: 1px solid #CCC">.</td>
|
605
605
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- return "<h1>" + underlying + "</h1>";</pre></td>
|
606
606
|
</tr>
|
607
|
-
<tr style="background-color: #FDD"
|
607
|
+
<tr style="background-color: #FDD">
|
608
608
|
<td style="border-left: 1px solid #CCC">21</td>
|
609
609
|
<td style="border-left: 1px solid #CCC">.</td>
|
610
610
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- }</pre></td>
|
611
611
|
</tr>
|
612
|
-
<tr style="background-color: #DFD"
|
612
|
+
<tr style="background-color: #DFD">
|
613
613
|
<td style="border-left: 1px solid #CCC">.</td>
|
614
614
|
<td style="border-left: 1px solid #CCC">18</td>
|
615
615
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ @Override</pre></td>
|
616
616
|
</tr>
|
617
|
-
<tr style="background-color: #DFD"
|
617
|
+
<tr style="background-color: #DFD">
|
618
618
|
<td style="border-left: 1px solid #CCC">.</td>
|
619
619
|
<td style="border-left: 1px solid #CCC">19</td>
|
620
620
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ public String toString() {</pre></td>
|
621
621
|
</tr>
|
622
|
-
<tr style="background-color: #DFD"
|
622
|
+
<tr style="background-color: #DFD">
|
623
623
|
<td style="border-left: 1px solid #CCC">.</td>
|
624
624
|
<td style="border-left: 1px solid #CCC">20</td>
|
625
625
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ return "<h1>" + underlying + "</h1>";</pre></td>
|
@@ -629,7 +629,7 @@
|
|
629
629
|
<td style="border-left: 1px solid #CCC">21</td>
|
630
630
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> }</pre></td>
|
631
631
|
</tr>
|
632
|
-
<tr style="background-color: #DFD"
|
632
|
+
<tr style="background-color: #DFD">
|
633
633
|
<td style="border-left: 1px solid #CCC">.</td>
|
634
634
|
<td style="border-left: 1px solid #CCC">22</td>
|
635
635
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ }</pre></td>
|
@@ -639,42 +639,42 @@
|
|
639
639
|
<td style="border-left: 1px solid #CCC">23</td>
|
640
640
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
641
641
|
</tr>
|
642
|
-
<tr style="background-color: #FDD"
|
642
|
+
<tr style="background-color: #FDD">
|
643
643
|
<td style="border-left: 1px solid #CCC">24</td>
|
644
644
|
<td style="border-left: 1px solid #CCC">.</td>
|
645
645
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- @Test</pre></td>
|
646
646
|
</tr>
|
647
|
-
<tr style="background-color: #FDD"
|
647
|
+
<tr style="background-color: #FDD">
|
648
648
|
<td style="border-left: 1px solid #CCC">25</td>
|
649
649
|
<td style="border-left: 1px solid #CCC">.</td>
|
650
650
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- public void unsafeString() throws IOException {</pre></td>
|
651
651
|
</tr>
|
652
|
-
<tr style="background-color: #FDD"
|
652
|
+
<tr style="background-color: #FDD">
|
653
653
|
<td style="border-left: 1px solid #CCC">26</td>
|
654
654
|
<td style="border-left: 1px solid #CCC">.</td>
|
655
655
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- Handlebars handlebars = new Handlebars();</pre></td>
|
656
656
|
</tr>
|
657
|
-
<tr style="background-color: #FDD"
|
657
|
+
<tr style="background-color: #FDD">
|
658
658
|
<td style="border-left: 1px solid #CCC">27</td>
|
659
659
|
<td style="border-left: 1px solid #CCC">.</td>
|
660
660
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- Template template = handlebars.compileInline("{{this}}");</pre></td>
|
661
661
|
</tr>
|
662
|
-
<tr style="background-color: #DFD"
|
662
|
+
<tr style="background-color: #DFD">
|
663
663
|
<td style="border-left: 1px solid #CCC">.</td>
|
664
664
|
<td style="border-left: 1px solid #CCC">24</td>
|
665
665
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ @Test</pre></td>
|
666
666
|
</tr>
|
667
|
-
<tr style="background-color: #DFD"
|
667
|
+
<tr style="background-color: #DFD">
|
668
668
|
<td style="border-left: 1px solid #CCC">.</td>
|
669
669
|
<td style="border-left: 1px solid #CCC">25</td>
|
670
670
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ public void unsafeString() throws IOException {</pre></td>
|
671
671
|
</tr>
|
672
|
-
<tr style="background-color: #DFD"
|
672
|
+
<tr style="background-color: #DFD">
|
673
673
|
<td style="border-left: 1px solid #CCC">.</td>
|
674
674
|
<td style="border-left: 1px solid #CCC">26</td>
|
675
675
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ Handlebars handlebars = new Handlebars();</pre></td>
|
676
676
|
</tr>
|
677
|
-
<tr style="background-color: #DFD"
|
677
|
+
<tr style="background-color: #DFD">
|
678
678
|
<td style="border-left: 1px solid #CCC">.</td>
|
679
679
|
<td style="border-left: 1px solid #CCC">27</td>
|
680
680
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ Template template = handlebars.compileInline("{{this}}");</pre></td>
|
@@ -684,12 +684,12 @@
|
|
684
684
|
<td style="border-left: 1px solid #CCC">28</td>
|
685
685
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
686
686
|
</tr>
|
687
|
-
<tr style="background-color: #FDD"
|
687
|
+
<tr style="background-color: #FDD">
|
688
688
|
<td style="border-left: 1px solid #CCC">29</td>
|
689
689
|
<td style="border-left: 1px solid #CCC">.</td>
|
690
690
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- String result = template.apply(new UnsafeString("Hello"));</pre></td>
|
691
691
|
</tr>
|
692
|
-
<tr style="background-color: #DFD"
|
692
|
+
<tr style="background-color: #DFD">
|
693
693
|
<td style="border-left: 1px solid #CCC">.</td>
|
694
694
|
<td style="border-left: 1px solid #CCC">29</td>
|
695
695
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ String result = template.apply(new UnsafeString("Hello"));</pre></td>
|
@@ -699,22 +699,22 @@
|
|
699
699
|
<td style="border-left: 1px solid #CCC">30</td>
|
700
700
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre> </pre></td>
|
701
701
|
</tr>
|
702
|
-
<tr style="background-color: #FDD"
|
702
|
+
<tr style="background-color: #FDD">
|
703
703
|
<td style="border-left: 1px solid #CCC">31</td>
|
704
704
|
<td style="border-left: 1px solid #CCC">.</td>
|
705
705
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- assertEquals("&lt;h1&gt;Hello&lt;/h1&gt;", result);</pre></td>
|
706
706
|
</tr>
|
707
|
-
<tr style="background-color: #FDD"
|
707
|
+
<tr style="background-color: #FDD">
|
708
708
|
<td style="border-left: 1px solid #CCC">32</td>
|
709
709
|
<td style="border-left: 1px solid #CCC">.</td>
|
710
710
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>- }</pre></td>
|
711
711
|
</tr>
|
712
|
-
<tr style="background-color: #DFD"
|
712
|
+
<tr style="background-color: #DFD">
|
713
713
|
<td style="border-left: 1px solid #CCC">.</td>
|
714
714
|
<td style="border-left: 1px solid #CCC">31</td>
|
715
715
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ assertEquals("&lt;h1&gt;Hello&lt;/h1&gt;", result);</pre></td>
|
716
716
|
</tr>
|
717
|
-
<tr style="background-color: #DFD"
|
717
|
+
<tr style="background-color: #DFD">
|
718
718
|
<td style="border-left: 1px solid #CCC">.</td>
|
719
719
|
<td style="border-left: 1px solid #CCC">32</td>
|
720
720
|
<td style="border-left: 1px solid #CCC; border-right: 1px solid #CCC; color: #000"><pre>+ }</pre></td>
|