Package com.github.sommeri.less4j.resources

Source Code of com.github.sommeri.less4j.resources.OpenFileSource

package com.github.sommeri.less4j.resources;

import static org.junit.Assert.assertEquals;

import java.io.File;

import org.junit.Test;

import com.github.sommeri.less4j.LessSource.CannotReadFile;
import com.github.sommeri.less4j.LessSource.FileNotFound;
import com.github.sommeri.less4j.LessSource.FileSource;

public class LessSourceTest {

  private static final String file = "src/test/resources/less-source/level-1/level-2/source.less";

  @Test
  public void lastModifiedPropagation() throws FileNotFound, CannotReadFile {
    FileSource main = new FileSource(new File(file));
    FileSource firstImport = main.relativeSource("imported-1.less");
    FileSource secondImport = firstImport.relativeSource("../imported-2.less");
   
    long mainModified = setLastModified(main, 1364590362375L);
    long firstModified = setLastModified(firstImport, 1364590418644L);
    long secondModified = setLastModified(secondImport, 1364590474913L);
   
    main.getContent();
    assertModified(main, mainModified, mainModified);

    firstImport.getContent();
    assertModified(main, mainModified, firstModified);
    assertModified(firstImport, firstModified, firstModified);
   
    secondImport.getContent();
    assertModified(main, mainModified, secondModified);
    assertModified(firstImport, firstModified, secondModified);
    assertModified(secondImport, secondModified, secondModified);
  }

  private long setLastModified(FileSource fileSource, long modified) {
    fileSource.getInputFile().setLastModified(modified);
    return fileSource.getInputFile().lastModified();
  }

  private void assertModified(FileSource main, long last, long latest) {
    assertEquals(main.getLastModified(), last);
    assertEquals(main.getLatestModified(), latest);
  }

}

class OpenFileSource extends FileSource {

  public OpenFileSource(File inputFile) {
    super(inputFile);
  }

}
TOP

Related Classes of com.github.sommeri.less4j.resources.OpenFileSource

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.