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
40
41
|
package iohelpers
import (
"fmt"
"io/fs"
"os"
"testing"
"github.com/stretchr/testify/assert"
)
func TestWindowsFileMode(t *testing.T) {
data := []struct {
in, expected os.FileMode
}{
{0o000, 0o000},
{0o100, 0o000},
{0o111, 0o000},
{0o123, 0o000},
{0o177, 0o000},
{0o400, 0o444},
{0o412, 0o444},
{0o467, 0o444},
{0o542, 0o444},
{0o200, 0o666},
{0o211, 0o666},
{0o300, 0o666},
{0o644, 0o666},
{0o600, 0o666},
{0o755, 0o666},
{0o777, 0o666},
}
for _, d := range data {
actual := windowsFileMode(d.in)
assert.Equal(t, fmt.Sprintf("%o", d.expected), fmt.Sprintf("%o", actual))
assert.Equal(t, d.expected, actual)
}
// directories are always 0777
assert.Equal(t, 0o777|fs.ModeDir, windowsFileMode(0o755|fs.ModeDir))
}
|