sbt/cache/src/test/scala/CacheTest.scala

29 lines
649 B
Scala
Raw Normal View History

2009-08-16 20:29:08 +02:00
package xsbt
import java.io.File
object CacheTest// extends Properties("Cache test")
{
2009-12-12 00:56:09 +01:00
val lengthCache = new File("/tmp/length-cache")
val cCache = new File("/tmp/c-cache")
2009-08-16 20:29:08 +02:00
import Cache._
import FileInfo.hash._
2009-12-12 00:56:09 +01:00
def test
2009-08-16 20:29:08 +02:00
{
2010-06-07 16:50:51 +02:00
lazy val create = new File("test")
2009-08-16 20:29:08 +02:00
2010-06-07 16:50:51 +02:00
val length = cached(lengthCache) {
(f: File) => { println("File length: " + f.length); f.length }
}
2009-12-12 00:56:09 +01:00
2010-06-07 16:50:51 +02:00
lazy val fileLength = length(create)
2009-12-12 00:56:09 +01:00
2010-06-07 16:50:51 +02:00
val c = cached(cCache) { (in: (File :: Long :: HNil)) =>
val file :: len :: HNil = in
println("File: " + file + " (" + file.exists + "), length: " + len)
(len+1) :: file :: HNil
}
c(create :: fileLength :: HNil)
2009-08-16 20:29:08 +02:00
}
}