2166
2166
summary = preview.get_preview_tree().path_content_summary('path')
2167
2167
self.assertEqual(('missing', None, None, None), summary)
2169
def test_file_content_summary_executable(self):
2170
if not osutils.supports_executable():
2171
raise TestNotApplicable()
2172
preview = self.get_empty_preview()
2173
path_id = preview.new_file('path', preview.root, 'contents', 'path-id')
2174
preview.set_executability(True, path_id)
2175
summary = preview.get_preview_tree().path_content_summary('path')
2176
self.assertEqual(4, len(summary))
2177
self.assertEqual('file', summary[0])
2178
# size must be known
2179
self.assertEqual(len('contents'), summary[1])
2181
self.assertEqual(True, summary[2])
2183
self.assertSubset((summary[3],),
2184
(None, '0c352290ae1c26ca7f97d5b2906c4624784abd60'))
2186
def test_change_executability(self):
2187
if not osutils.supports_executable():
2188
raise TestNotApplicable()
2189
tree = self.make_branch_and_tree('tree')
2190
self.build_tree(['tree/path'])
2192
preview = TransformPreview(tree)
2193
self.addCleanup(preview.finalize)
2194
path_id = preview.trans_id_tree_path('path')
2195
preview.set_executability(True, path_id)
2196
summary = preview.get_preview_tree().path_content_summary('path')
2197
self.assertEqual(True, summary[2])
2169
2199
def test_file_content_summary_non_exec(self):
2170
2200
preview = self.get_empty_preview()
2171
2201
preview.new_file('path', preview.root, 'contents', 'path-id')
2173
2203
self.assertEqual(4, len(summary))
2174
2204
self.assertEqual('file', summary[0])
2175
2205
# size must be known
2176
self.assertEqual(8, summary[1])
2206
self.assertEqual(len('contents'), summary[1])
2177
2207
# not executable
2178
2208
if osutils.supports_executable():
2179
2209
self.assertEqual(False, summary[2])