'run_cell(silent=True) doesn\'t trigger displayhook'

def test_silent_nodisplayhook(self):

    d = dict(called=False)
    trap = ip.display_trap
    save_hook = trap.hook
    def failing_hook(*args, **kwargs):
        d['called'] = True
    try:
        trap.hook = failing_hook
        res = ip.run_cell('1', silent=True)
        self.assertFalse(d['called'])
        self.assertIsNone(res.result)
        ip.run_cell('1')
        self.assertTrue(d['called'])
    finally:
        trap.hook = save_hook
