Index: tools/pyutils/url_utils_test.py |
diff --git a/tools/pyutils/url_utils_test.py b/tools/pyutils/url_utils_test.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..ef3d8c8aaaa8e2016977435be7bc2d6a723918a5 |
--- /dev/null |
+++ b/tools/pyutils/url_utils_test.py |
@@ -0,0 +1,61 @@ |
+#!/usr/bin/python |
+ |
+""" |
+Copyright 2014 Google Inc. |
+ |
+Use of this source code is governed by a BSD-style license that can be |
+found in the LICENSE file. |
+ |
+Test url_utils.py |
+""" |
+ |
+# System-level imports |
+import os |
+import shutil |
+import tempfile |
+import unittest |
+import urllib |
+ |
+# Imports from within Skia |
+import url_utils |
+ |
+ |
+class UrlUtilsTest(unittest.TestCase): |
epoger
2014/06/04 15:20:59
Whoops... as of patchset 5, this unittest wasn't g
borenet
2014/06/04 15:43:24
Good catch!
|
+ |
+ def test_create_filepath_url(self): |
+ """Tests create_filepath_url(). """ |
+ with self.assertRaises(Exception): |
+ url_utils.create_filepath_url('http://1.2.3.4/path') |
+ # Pass absolute filepath. |
+ self.assertEquals( |
+ url_utils.create_filepath_url( |
+ '%sdir%sfile' % (os.path.sep, os.path.sep)), |
+ 'file:///dir/file') |
+ # Pass relative filepath. |
+ self.assertEquals( |
+ url_utils.create_filepath_url(os.path.join('dir', 'file')), |
+ 'file://%s/dir/file' % urllib.pathname2url(os.getcwd())) |
+ |
+ def test_copy_contents(self): |
+ """Tests copy_contents(). """ |
+ contents = 'these are the contents' |
+ tempdir_path = tempfile.mkdtemp() |
+ try: |
+ source_path = os.path.join(tempdir_path, 'source') |
+ source_url = url_utils.create_filepath_url(source_path) |
+ with open(source_path, 'w') as source_handle: |
+ source_handle.write(contents) |
+ dest_path = os.path.join(tempdir_path, 'new_subdir', 'dest') |
+ # Destination subdir does not exist, so copy_contents() should fail |
+ # if create_subdirs_if_needed is False. |
+ with self.assertRaises(Exception): |
+ url_utils.copy_contents(source_url=source_url, |
+ dest_path=dest_path, |
+ create_subdirs_if_needed=False) |
+ # If create_subdirs_if_needed is True, it should work. |
+ url_utils.copy_contents(source_url=source_url, |
+ dest_path=dest_path, |
+ create_subdirs_if_needed=True) |
+ self.assertEquals(open(dest_path).read(), contents) |
+ finally: |
+ shutil.rmtree(tempdir_path) |