diff examples/doctest.txt @ 87:3571417ef92e

interpolate file permissions
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 10 Jan 2011 14:39:21 -0800
parents a0f7bfa98755
children 712a6d358083
line wrap: on
line diff
--- a/examples/doctest.txt	Mon Jan 10 12:39:26 2011 -0800
+++ b/examples/doctest.txt	Mon Jan 10 14:39:21 2011 -0800
@@ -9,7 +9,7 @@
     >>> import tempfile
     >>> from StringIO import StringIO
 
-Basic functionality:
+Basic functionality::
 
     >>> example = os.path.join(here, 'example.txt')
     >>> template = makeitso.PolyTemplate([example], interactive=False)
@@ -18,7 +18,7 @@
     >>> template.substitute(name='foo')
     Hello foo
     
-Substitute to a buffer:
+Substitute to a buffer::
 
     >>> buffer = StringIO()
     >>> template = makeitso.PolyTemplate([example], output=buffer, interactive=False)
@@ -26,7 +26,7 @@
     >>> buffer.getvalue().strip()
     'Hello bar'
 
-Substitute to a file:
+Substitute to a file::
 
     >>> buffer = tempfile.mktemp()
     >>> template = makeitso.PolyTemplate([example], output=buffer, interactive=False)
@@ -91,3 +91,16 @@
     >>> file(buffer).read().strip()
     'Hello bar'
     >>> os.remove(buffer)
+
+Test to make sure permissions are preserved. This won't work on windows::
+
+    >>> buffer = tempfile.mktemp()
+    >>> f = file(buffer, 'w')
+    >>> print >> f, '#!/bin/bash\necho foo'
+    >>> f.close()
+    >>> os.chmod(buffer, 0755)
+    >>> uritemplate = makeitso.URITemplate(example, output=buffer, interactive=False)
+    >>> uritemplate.substitute(name='bar')
+    >>> ('%o' % os.stat(buffer).st_mode).endswith('755')
+    True
+    >>> os.remove(buffer)