}
public void testCache()
{
MockControl control = newControl(ClassResolver.class);
ClassResolver resolver = (ClassResolver) control.getMock();
URL url = getClass().getResource("tapestry-in-action.png");
resolver.getResource("/foo");
control.setReturnValue(url);
replayControls();
ResourceDigestSourceImpl s = new ResourceDigestSourceImpl();
s.setClassResolver(resolver);
assertEquals("a5f4663532ea3efe22084df086482290", s.getDigestForResource("/foo"));
// Try it in the cache; note that the class resolver is not
// invoked this time.
assertEquals("a5f4663532ea3efe22084df086482290", s.getDigestForResource("/foo"));
verifyControls();
resolver.getResource("/foo");
control.setReturnValue(url);
replayControls();
// This clears the cache