2018-05-22 12:43:20 -04:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io/ioutil"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
2018-05-24 10:25:38 -04:00
|
|
|
func SetCacheDirForTest(prefix string) {
|
2018-05-22 12:43:20 -04:00
|
|
|
dir, err := ioutil.TempDir("", prefix)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2018-05-24 10:25:38 -04:00
|
|
|
CacheDir = dir
|
2018-05-22 12:43:20 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestLoadOutputCodeCache(t *testing.T) {
|
2018-05-24 10:25:38 -04:00
|
|
|
SetCacheDirForTest("TestLoadOutputCodeCache")
|
2018-05-22 12:43:20 -04:00
|
|
|
|
|
|
|
filename := "Hello.ts"
|
|
|
|
sourceCodeBuf := []byte("1+2")
|
|
|
|
|
|
|
|
cacheFn := CacheFileName(filename, sourceCodeBuf)
|
|
|
|
|
|
|
|
outputCode, err := LoadOutputCodeCache(filename, sourceCodeBuf)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf(err.Error())
|
|
|
|
}
|
|
|
|
if outputCode != "" {
|
|
|
|
t.Fatalf("Expected empty outputCode but got <<%s>>", outputCode)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Now let's write to the cache file
|
|
|
|
err = ioutil.WriteFile(cacheFn, []byte("blah"), 0700)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf(err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
// Try it again.
|
|
|
|
outputCode, err = LoadOutputCodeCache(filename, sourceCodeBuf)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf(err.Error())
|
|
|
|
}
|
|
|
|
if outputCode != "blah" {
|
|
|
|
t.Fatalf("Bad outputCode but got <<%s>>", outputCode)
|
|
|
|
}
|
|
|
|
}
|