This tests the behaviour when skipping subsequent confirmation forms by
selecting "yes to all".  First we need to create the necessary links:

  >>> self.setRoles(('Manager',))
  >>> tmpl = '<html> <body> %s, %s </body> </html>'
  >>> p = self.portal
  >>> p.doc1.processForm(values={'text':tmpl % (p.image1.tag(), p.image2.tag())})
  >>> p.doc2.processForm(values={'text':tmpl % (p.image1.tag(), p.image3.tag())})

Then we use a browser to try to delete the referenced images.  Before we
can do this we need to prevent the test framework from choking on the
exception we intentionally throw (see docs/testRemovalTriggersConfirmation.txt
for more info).  Also, we disable the event count helper (as set in
folder_contents), so that all tests written so far won't need modification:

  >>> self.setStatusCode('LinkIntegrityNotificationException', 200)
  >>> self.disableEventCountHelper()
  >>> browser = self.getBrowser(loggedIn=True)
  >>> browser.open('http://nohost/plone/folder_contents')
  >>> browser.getControl('Test Image 1').selected = True
  >>> browser.getControl('Test Image 2').selected = True
  >>> browser.getControl('Test Image 3').selected = True
  >>> browser.getControl('Delete').click()
  >>> browser.contents
  '...<a href="http://nohost/plone/image1"...Test Image 1...
   ...This...Image...is referenced by the following items:...
   ...<li>...<a href="http://nohost/plone/doc1"...Test Page 1...</li>...
   ...<li>...<a href="http://nohost/plone/doc2"...Test Page 2...</li>...
   ...Would you like to delete it anyway?...'

At this point we would normally be presented with three separate confirmation
forms (as in the identical setup in docs/testMultipleFilesRemoval.txt), but
here we choose to skip any further questions:

  >>> browser.getControl(name='delete_all').click()
  >>> browser.url
  'http://nohost/plone/@@folder_contents'
  >>> browser.contents
  '...<dl class="portalMessage...Item(s) deleted...</dl>...'

All previously selected images should still have been deleted:

  >>> portal.image1
  Traceback (most recent call last):
  ...
  AttributeError: image1
  >>> portal.image2
  Traceback (most recent call last):
  ...
  AttributeError: image2
  >>> portal.image3
  Traceback (most recent call last):
  ...
  AttributeError: image3

