Get visibility of a block I've found plenty of posts about changing the visibility of a block programatically.

My problem is the opposite. Given a block's ID/delta, how do I find out if it should be displayed at the current path?

I have a field collection that allows you to append a block using the Block Reference module (I preprocess the field collection and use my own template, so the logic has been taken away from the Block Reference module). It works, but I only want it to kick in if the "Show block on specific pages" rule says that block should be displayed.
To test the block style visibility rules, you can use drupal_match_path

For example, in core: block_block_list_alter


  Checks the page, user role, and user-specific visibility settings. Removes the block if the visibility conditions are not met.