blob: 9b52e7cac65476105d78a93f23e7263102afc1bb [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package file
import (
"bytes"
"io/ioutil"
"path/filepath"
"testing"
)
func TestFileCreatedSuccessfully(t *testing.T) {
setup()
filename := filepath.Join(t.TempDir(), "success.txt")
if err := ioutil.WriteFile(filename, []byte("Example Text"), 0600); err != nil {
t.Fatal(err)
}
if _, err := NewFile(filename, SingleLicense); err != nil {
t.Fatal(err)
}
}
func TestFileCreationFails(t *testing.T) {
setup()
filename := filepath.Join(t.TempDir(), "failure.txt")
if _, err := NewFile(filename, SingleLicense); err == nil {
t.Fatal(err)
}
}
func TestReplacements(t *testing.T) {
setup()
r := []*Replacement{
{
Replace: "“",
With: "\"",
}, {
Replace: "”",
With: "\"",
},
}
Config.Replacements = r
expected := []byte("left quote: \" right quote: \"")
filename := filepath.Join(t.TempDir(), "replacement.txt")
if err := ioutil.WriteFile(filename, []byte("left quote: “ right quote: ”"), 0600); err != nil {
t.Fatal(err)
}
f, err := NewFile(filename, SingleLicense)
if err != nil {
t.Fatal(err)
}
if len(f.Data) != 1 {
t.Fatalf("Expected 1 data element, got %v\n", len(f.Data))
}
if !bytes.Equal(f.Data[0].Data, expected) {
t.Fatalf("Expected %v, got %v\n", string(expected), string(f.Data[0].Data))
}
}
func setup() {
Config = &FileConfig{}
}