You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2012/09/25 20:03:42 UTC

[3/4] git commit: [#4933] ticket:170 better mime type detection for code browser

[#4933] ticket:170 better mime type detection for code browser

* fixed empty file error
* changed the test repo
* added test


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/451c338d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/451c338d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/451c338d

Branch: refs/heads/master
Commit: 451c338df4778f9373758fc15abe3c9784cc9060
Parents: 31efdb7
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Fri Sep 21 12:05:18 2012 +0400
Committer: Dave Brondsema <db...@geek.net>
Committed: Tue Sep 25 18:02:01 2012 +0000

----------------------------------------------------------------------
 Allura/allura/lib/utils.py                         |    3 ++-
 Allura/allura/tests/data/test_mime/bin_file        |  Bin 0 -> 22484 bytes
 Allura/allura/tests/data/test_mime/text_file.txt   |    1 +
 Allura/allura/tests/test_utils.py                  |   11 +++++++++++
 .../60/60fc5fce84b93113ba659c2c64971e134cd136      |  Bin 0 -> 159 bytes
 .../63/6c254ca24d2df71d5475d3b44f4e7f6e6028d6      |  Bin 0 -> 129 bytes
 .../e3/4652c96b8059191abc5c3f747edcf13dc5c55b      |  Bin 0 -> 210 bytes
 .../tests/data/testmime.git/refs/heads/master      |    2 +-
 .../forgehg/tests/functional/test_controllers.py   |    7 -------
 requirements-common.txt                            |    1 +
 10 files changed, 16 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/Allura/allura/lib/utils.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/utils.py b/Allura/allura/lib/utils.py
index 1290da6..7ffa779 100644
--- a/Allura/allura/lib/utils.py
+++ b/Allura/allura/lib/utils.py
@@ -442,6 +442,7 @@ def svn_path_exists(path):
 
 
 def is_text_file(file):
-    if "text" in magic.from_buffer(file):
+    if (("text" in magic.from_buffer(file)) or
+        ("empty" in magic.from_buffer(file))):
         return True
     return False

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/Allura/allura/tests/data/test_mime/bin_file
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/data/test_mime/bin_file b/Allura/allura/tests/data/test_mime/bin_file
new file mode 100755
index 0000000..16677a1
Binary files /dev/null and b/Allura/allura/tests/data/test_mime/bin_file differ

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/Allura/allura/tests/data/test_mime/text_file.txt
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/data/test_mime/text_file.txt b/Allura/allura/tests/data/test_mime/text_file.txt
new file mode 100644
index 0000000..30d74d2
--- /dev/null
+++ b/Allura/allura/tests/data/test_mime/text_file.txt
@@ -0,0 +1 @@
+test
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/Allura/allura/tests/test_utils.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/test_utils.py b/Allura/allura/tests/test_utils.py
index 78dfa1f..69f26c6 100644
--- a/Allura/allura/tests/test_utils.py
+++ b/Allura/allura/tests/test_utils.py
@@ -133,3 +133,14 @@ class TestLineAnchorCodeHtmlFormatter(unittest.TestCase):
         assert '<div class="codehilite">' in hl_code
         assert '<div id="l1" class="code_block">' in hl_code
         assert '<span class="lineno">1</span>' in hl_code
+
+
+class TestIsTextFile(unittest.TestCase):
+    def test_is_text_file(self):
+        here_dir = path.dirname(__file__)
+        assert utils.is_text_file(open(path.join(
+            here_dir,
+            'data/test_mime/text_file.txt')).read())
+        assert not utils.is_text_file(open(path.join(
+            here_dir,
+            'data/test_mime/bin_file')).read())

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/ForgeGit/forgegit/tests/data/testmime.git/objects/60/60fc5fce84b93113ba659c2c64971e134cd136
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/tests/data/testmime.git/objects/60/60fc5fce84b93113ba659c2c64971e134cd136 b/ForgeGit/forgegit/tests/data/testmime.git/objects/60/60fc5fce84b93113ba659c2c64971e134cd136
new file mode 100644
index 0000000..032d458
Binary files /dev/null and b/ForgeGit/forgegit/tests/data/testmime.git/objects/60/60fc5fce84b93113ba659c2c64971e134cd136 differ

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/ForgeGit/forgegit/tests/data/testmime.git/objects/63/6c254ca24d2df71d5475d3b44f4e7f6e6028d6
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/tests/data/testmime.git/objects/63/6c254ca24d2df71d5475d3b44f4e7f6e6028d6 b/ForgeGit/forgegit/tests/data/testmime.git/objects/63/6c254ca24d2df71d5475d3b44f4e7f6e6028d6
new file mode 100644
index 0000000..88e2148
Binary files /dev/null and b/ForgeGit/forgegit/tests/data/testmime.git/objects/63/6c254ca24d2df71d5475d3b44f4e7f6e6028d6 differ

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/ForgeGit/forgegit/tests/data/testmime.git/objects/e3/4652c96b8059191abc5c3f747edcf13dc5c55b
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/tests/data/testmime.git/objects/e3/4652c96b8059191abc5c3f747edcf13dc5c55b b/ForgeGit/forgegit/tests/data/testmime.git/objects/e3/4652c96b8059191abc5c3f747edcf13dc5c55b
new file mode 100644
index 0000000..91c917a
Binary files /dev/null and b/ForgeGit/forgegit/tests/data/testmime.git/objects/e3/4652c96b8059191abc5c3f747edcf13dc5c55b differ

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/ForgeGit/forgegit/tests/data/testmime.git/refs/heads/master
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/tests/data/testmime.git/refs/heads/master b/ForgeGit/forgegit/tests/data/testmime.git/refs/heads/master
index 6b409f1..5a06233 100644
--- a/ForgeGit/forgegit/tests/data/testmime.git/refs/heads/master
+++ b/ForgeGit/forgegit/tests/data/testmime.git/refs/heads/master
@@ -1 +1 @@
-5183294918419a622d0ce271930fdea60aabc1d4
+6060fc5fce84b93113ba659c2c64971e134cd136

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/ForgeHg/forgehg/tests/functional/test_controllers.py
----------------------------------------------------------------------
diff --git a/ForgeHg/forgehg/tests/functional/test_controllers.py b/ForgeHg/forgehg/tests/functional/test_controllers.py
index e36c91a..68e15e0 100644
--- a/ForgeHg/forgehg/tests/functional/test_controllers.py
+++ b/ForgeHg/forgehg/tests/functional/test_controllers.py
@@ -166,13 +166,6 @@ class TestRootController(TestController):
         assert '+++' in resp, resp.showbrowser()
         assert '+Another line' in resp, resp.showbrowser()
 
-    def test_binary_diff(self):
-        ci = '/p/test/src-hg/ci/4a7f7ec0dcf5f005eb5d177b3d8c00bfc8159843/'
-        parent = '1c7eb55bbd66ff45906b4a25d4b403899e0ffff1'
-        resp = self.app.get(ci + 'tree/test.jpg?barediff=' + parent,
-        validate_chunk=True)
-        assert 'Cannot display: file marked as a binary type.' in resp
-
 
 class TestLogPagination(TestController):
 

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/451c338d/requirements-common.txt
----------------------------------------------------------------------
diff --git a/requirements-common.txt b/requirements-common.txt
index 92c700a..429fbf1 100644
--- a/requirements-common.txt
+++ b/requirements-common.txt
@@ -44,6 +44,7 @@ TimerMiddleware==0.2.1
 TurboGears2==2.1.3
 # part of the stdlib, but with a version number.  see http://guide.python-distribute.org/pip.html#listing-installed-packages
 wsgiref==0.1.2
+python-magic
 
 # tg2 deps (not used directly)
 Babel==0.9.6