}
}
@Test
public void isSourceModified() throws Exception {
Resource templateResource = new Template();
long lastModified = factory.getResource("/templates/test.vm").lastModified();
// 资源/templates/test.vm支持lastModified,但时间不同
templateResource.setLastModified(1);
templateResource.setName("/macros/a.vm");
assertTrue(lastModified != templateResource.getLastModified());
assertTrue(velocityLoader.isSourceModified(templateResource));
// 资源/templates/test.vm支持lastModified,时间相同
templateResource.setLastModified(lastModified);
templateResource.setName("/macros/a.vm");
assertEquals(lastModified, templateResource.getLastModified());
assertFalse(velocityLoader.isSourceModified(templateResource));
// 资源/templates/notExist.vm不存在,看作被修改了
templateResource.setLastModified(1);
templateResource.setName("/notExist.vm");
assertFalse(factory.getResource("/templates/notExist.vm").exists());
assertTrue(velocityLoader.isSourceModified(templateResource));
// 资源/templates/test2.vm存在,但不支持lastModified,看作未修改
templateResource.setLastModified(1);
templateResource.setName("/macros/c.vm");
lastModified = factory.getResource("/templates/test2.vm").lastModified();
assertEquals(0, lastModified);
assertFalse(velocityLoader.isSourceModified(templateResource));
// 模板名为空
templateResource.setName(null);
try {
velocityLoader.isSourceModified(templateResource);
fail();
} catch (org.apache.velocity.exception.ResourceNotFoundException e) {