@@ -214,23 +214,40 @@ class MyError(Exception):
214214 pass
215215
216216
217- def test_managed_render_exception_drops_written_from_registry (pystache_renderer , sut ):
217+ def test_managed_render_exception_drops_written_and_inexsistent_from_registry (pystache_renderer , sut ):
218218 data = mock .Mock (spec = ("template" ,))
219219 text = "some text"
220220 pystache_renderer .render_name .side_effect = (text ,)
221221 output = paths .swift_dir / "some/output.txt"
222- registry = paths .swift_dir / "a /registry.list"
222+ registry = paths .swift_dir / "x /registry.list"
223223 write (output , text )
224+ write (paths .swift_dir / "a" )
225+ write (paths .swift_dir / "c" )
224226 write (registry , "a a a\n "
225227 f"some/output.txt whatever { hash (text )} \n "
226- "b b b" )
228+ "b b b\n "
229+ "c c c" )
227230
228231 with pytest .raises (MyError ):
229232 with sut .manage (generated = (), stubs = (), registry = registry ) as renderer :
230233 renderer .render (data , output )
231234 raise MyError
232235
233- assert_file (registry , "a a a\n b b b\n " )
236+ assert_file (registry , "a a a\n c c c\n " )
237+
238+
239+ def test_managed_render_drops_inexsistent_from_registry (pystache_renderer , sut ):
240+ registry = paths .swift_dir / "x/registry.list"
241+ write (paths .swift_dir / "a" )
242+ write (paths .swift_dir / "c" )
243+ write (registry , f"a { hash ('' )} { hash ('' )} \n "
244+ "b b b\n "
245+ f"c { hash ('' )} { hash ('' )} " )
246+
247+ with sut .manage (generated = (), stubs = (), registry = registry ):
248+ pass
249+
250+ assert_file (registry , f"a { hash ('' )} { hash ('' )} \n c { hash ('' )} { hash ('' )} \n " )
234251
235252
236253def test_managed_render_exception_does_not_erase (pystache_renderer , sut ):
0 commit comments