libdolt 0.33.2 → 0.33.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/libdolt/version.rb +1 -1
- data/lib/libdolt/view/blob.rb +11 -0
- data/test/fixtures/dolt-test-repo.git/objects/03/0bc1fa37aac317a5d38fbb4f3a6d22b34c6eba +0 -0
- data/test/fixtures/dolt-test-repo.git/objects/cd/104f8b749c206e7faef1cb7c03f453cbb1aa57 +0 -0
- data/test/fixtures/dolt-test-repo.git/objects/d1/f94fb68cf34f7f121a949e89e09d1a8c1b3825 +0 -0
- data/test/fixtures/dolt-test-repo.git/refs/heads/master +1 -1
- data/test/libdolt/view/blob_test.rb +9 -0
- data/views/blob.erb +1 -1
- metadata +5 -2
data/lib/libdolt/version.rb
CHANGED
data/lib/libdolt/view/blob.rb
CHANGED
@@ -72,6 +72,17 @@ The content you're attempting to browse appears to be binary.
|
|
72
72
|
"<pre class=\"#{class_names.join(' ')}\">" +
|
73
73
|
"<ol class=\"linenums gts-lines\">#{lines}</ol></pre>"
|
74
74
|
end
|
75
|
+
|
76
|
+
def safe_blob_text(blob)
|
77
|
+
text = blob.text(nil, defined?(Encoding) ? Encoding.default_external : nil)
|
78
|
+
|
79
|
+
if text.respond_to?(:encode)
|
80
|
+
text = text.encode('UTF-16', :invalid => :replace, :undef => :replace,
|
81
|
+
:replace => "�").encode('UTF-8')
|
82
|
+
end
|
83
|
+
|
84
|
+
text
|
85
|
+
end
|
75
86
|
end
|
76
87
|
end
|
77
88
|
end
|
Binary file
|
Binary file
|
Binary file
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
cd104f8b749c206e7faef1cb7c03f453cbb1aa57
|
@@ -73,4 +73,13 @@ describe Dolt::View::Blob do
|
|
73
73
|
assert_match /<hey>/, html
|
74
74
|
end
|
75
75
|
end
|
76
|
+
|
77
|
+
describe "safe_blob_text" do
|
78
|
+
it "returns blob's text with all invalid characters (for string's encoding) replaced with �" do
|
79
|
+
repository = Dolt::Git::Repository.new(Dolt.fixture_repo_path)
|
80
|
+
blob = repository.blob('master', 'bad-utf.txt')
|
81
|
+
|
82
|
+
assert_equal "żółć & �.", safe_blob_text(blob)
|
83
|
+
end
|
84
|
+
end
|
76
85
|
end
|
data/views/blob.erb
CHANGED
@@ -28,6 +28,6 @@
|
|
28
28
|
<li><a href="<%= raw_url(repository_slug, ref, path) %>">Raw blob</a></li>
|
29
29
|
</ul>
|
30
30
|
<%= breadcrumb(repository_slug, ref, path) %>
|
31
|
-
<%= format_blob(path, blob
|
31
|
+
<%= format_blob(path, safe_blob_text(blob), repository_slug, ref) %>
|
32
32
|
</div>
|
33
33
|
</div>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libdolt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.33.
|
4
|
+
version: 0.33.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-09-
|
12
|
+
date: 2013-09-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rugged
|
@@ -236,6 +236,7 @@ files:
|
|
236
236
|
- test/fixtures/dolt-test-repo.git/config
|
237
237
|
- test/fixtures/dolt-test-repo.git/description
|
238
238
|
- test/fixtures/dolt-test-repo.git/info/exclude
|
239
|
+
- test/fixtures/dolt-test-repo.git/objects/03/0bc1fa37aac317a5d38fbb4f3a6d22b34c6eba
|
239
240
|
- test/fixtures/dolt-test-repo.git/objects/04/76d88d4c60823927c52f872ff09e7f84fb3549
|
240
241
|
- test/fixtures/dolt-test-repo.git/objects/07/4e4c198421bfc8a1bf9a9c0fc117c4569ba0bd
|
241
242
|
- test/fixtures/dolt-test-repo.git/objects/12/67a0fbd3ec606c20f3f1dca1f53bb9505ba9b5
|
@@ -264,7 +265,9 @@ files:
|
|
264
265
|
- test/fixtures/dolt-test-repo.git/objects/c0/35ba24bb3bed31589bc6736ca9b116175eb723
|
265
266
|
- test/fixtures/dolt-test-repo.git/objects/c8/cc83f1a1fc3640fce14ab73d4fa4b22b6211d8
|
266
267
|
- test/fixtures/dolt-test-repo.git/objects/ca/d2309100006f94967cdafe678356b96bb098a5
|
268
|
+
- test/fixtures/dolt-test-repo.git/objects/cd/104f8b749c206e7faef1cb7c03f453cbb1aa57
|
267
269
|
- test/fixtures/dolt-test-repo.git/objects/cd/888aef50e3742885630ea4aa8c05f12b5518f4
|
270
|
+
- test/fixtures/dolt-test-repo.git/objects/d1/f94fb68cf34f7f121a949e89e09d1a8c1b3825
|
268
271
|
- test/fixtures/dolt-test-repo.git/objects/da/dd1e7ec0c822ba96fcee5d064bea66a7be3d5a
|
269
272
|
- test/fixtures/dolt-test-repo.git/objects/de/dbf2faa4f522716ab727e4325a3d75772e137b
|
270
273
|
- test/fixtures/dolt-test-repo.git/objects/df/d46204a2c44405a2591c2dbc7e73d1a81b5334
|