aboutsummaryrefslogtreecommitdiff
path: root/cmd/mv_test.go
blob: 4e0544fa59d2c040010f752606b4d2b6089e53e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package cmd

import (
	"os"
	"path/filepath"
	"testing"

	"gxlin.org/zk/pkg"
)

func TestRename(t *testing.T) {
	tmpDir := t.TempDir()
	backlinkedFilename := filepath.Join(tmpDir, "backlinked.md")
	sourceFilename := filepath.Join(tmpDir, "source.md")
	targetFilename := filepath.Join(tmpDir, "target.md")

	os.WriteFile(backlinkedFilename, []byte("[Title](source.md)"), 0644)
	os.WriteFile(sourceFilename, []byte("Hello World"), 0644)

	pkg.DocCollection = pkg.NewDocs(tmpDir)
	rename(sourceFilename, targetFilename)

	targetFileContent, err := os.ReadFile(targetFilename)
	if err != nil {
		t.Error(err)
	} else if string(targetFileContent) != "Hello World" {
		t.Errorf("File content or matched after moved")
	}

	backlinkedFileContent, err := os.ReadFile(backlinkedFilename)
	if err != nil {
		t.Error(err)
	} else if string(backlinkedFileContent) != "[Title](target.md)" {
		t.Errorf(
			"The link in backlinked file doesn't match. File content:\n%s",
			string(backlinkedFileContent))

	}
}