Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 36 additions & 30 deletions cmd/dev/headers/comments/files_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,48 +10,54 @@ import (
"github.com/ory/cli/cmd/dev/headers/comments"
)

func TestFileContentWithoutHeader_knownFile(t *testing.T) {
give := strings.Trim(`
// copyright Ory
// all rights reserved
func TestFileContentWithoutHeader(t *testing.T) {
t.Run("known file, copyright header", func(t *testing.T) {
give := strings.Trim(`
// Copyright © 2021 Ory Corp
// SPDX-License-Identifier: Apache-2.0

file content`, "\n")
want := strings.Trim(`
want := strings.Trim(`
file content`, "\n")
createTestFile(t, "testfile.go", give)
defer os.Remove("testfile.go")
have, err := comments.FileContentWithoutHeader("testfile.go", "copyright")
assert.NoError(t, err)
assert.Equal(t, want, have)
}
createTestFile(t, "testfile.go", give)
defer os.Remove("testfile.go")
have, err := comments.FileContentWithoutHeader("testfile.go", "Copyright ©")
assert.NoError(t, err)
assert.Equal(t, want, have)
})

func TestFileContentWithoutHeader_otherCommentFirst(t *testing.T) {
give := strings.Trim(`
t.Run("known file, other comment first", func(t *testing.T) {
give := strings.Trim(`
// another comment block

// copyright Ory
// all rights reserved
// Copyright © 2021 Ory Corp
// SPDX-License-Identifier: Apache-2.0

file content`, "\n")
want := strings.Trim(`
want := strings.Trim(`
// another comment block

file content`, "\n")
createTestFile(t, "testfile.go", give)
defer os.Remove("testfile.go")
have, err := comments.FileContentWithoutHeader("testfile.go", "copyright")
assert.NoError(t, err)
assert.Equal(t, want, have)
}
createTestFile(t, "testfile.go", give)
defer os.Remove("testfile.go")
have, err := comments.FileContentWithoutHeader("testfile.go", "Copyright ©")
assert.NoError(t, err)
assert.Equal(t, want, have)
})

func TestFileContentWithoutHeader_unknownFile(t *testing.T) {
give := "file content"
want := "file content"
createTestFile(t, "testfile.txt", give)
defer os.Remove("testfile.txt")
have, err := comments.FileContentWithoutHeader("testfile.txt", "copyright")
assert.NoError(t, err)
assert.Equal(t, want, have)
t.Run("unknown file", func(t *testing.T) {
give := strings.Trim(`
// Copyright © 2021 Ory Corp
// SPDX-License-Identifier: Apache-2.0

file content`, "\n")
want := give
createTestFile(t, "testfile.txt", give)
defer os.Remove("testfile.txt")
have, err := comments.FileContentWithoutHeader("testfile.txt", "Copyright ©")
assert.NoError(t, err)
assert.Equal(t, want, have)
})
}

func createTestFile(t *testing.T, name, content string) {
Expand Down
4 changes: 4 additions & 0 deletions cmd/dev/headers/comments/formats.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ func (f Format) remove(text string, token string) string {
inComment = false
continue
}
if inComment && !strings.HasPrefix(line, f.startToken) {
inComment = false
continue
}
if !inComment {
result = append(result, line)
}
Expand Down
1 change: 1 addition & 0 deletions cmd/dev/headers/comments/formats_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ func TestDoubleSlashCommentsRemove(t *testing.T) {
t.Parallel()
give := strings.Trim(`
// Copyright © 1997 Ory Corp Inc.
// SPDX-License-Identifier: Apache-2.0

// another comment

Expand Down
2 changes: 1 addition & 1 deletion cmd/dev/headers/license.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
)

// LICENSE defines the full license text.
const LICENSE_TEMPLATE = "Copyright © %d Ory Corp"
const LICENSE_TEMPLATE = "Copyright © %d Ory Corp\nSPDX-License-Identifier: Apache-2.0"

// LICENSE_TOKEN defines the token that identifies comments containing the license.
const LICENSE_TOKEN = "Copyright ©"
Expand Down
22 changes: 11 additions & 11 deletions cmd/dev/headers/license_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,19 @@ func TestAddLicenses(t *testing.T) {
dir.CreateFile("yaml.yaml", "one: two\nalpha: beta")
err := AddLicenses(dir.Path, 2022, []string{})
assert.NoError(t, err)
assert.Equal(t, "// Copyright © 2022 Ory Corp\n\nusing System;\n\nnamespace Foo.Bar {\n", dir.Content("c-sharp.cs"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n\nint a = 1;\nint b = 2;", dir.Content("dart.dart"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n\npackage test\n\nimport foo\n", dir.Content("golang.go"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n\nimport java.io.File;\n\nFile myFile = new File();", dir.Content("java.java"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n\nconst a = 1\nconst b = 2\n", dir.Content("javascript.js"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\nusing System;\n\nnamespace Foo.Bar {\n", dir.Content("c-sharp.cs"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\nint a = 1;\nint b = 2;", dir.Content("dart.dart"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\npackage test\n\nimport foo\n", dir.Content("golang.go"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\nimport java.io.File;\n\nFile myFile = new File();", dir.Content("java.java"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\nconst a = 1\nconst b = 2\n", dir.Content("javascript.js"))
assert.Equal(t, "package ignore_this_file", dir.Content("git-ignored.go"))
assert.Equal(t, "# hello world", dir.Content("markdown.md"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n\n$a = 1;\n$b = 2;\n", dir.Content("php.php"))
assert.Equal(t, "# Copyright © 2022 Ory Corp\n\na = 1\nb = 2\n", dir.Content("python.py"))
assert.Equal(t, "# Copyright © 2022 Ory Corp\n\na = 1\nb = 2\n", dir.Content("ruby.rb"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n\nlet a = 1;\nlet mut b = 2;\n", dir.Content("rust.rs"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n\nconst a = 1\nconst b = 2\n", dir.Content("typescript.ts"))
assert.Equal(t, "<!-- Copyright © 2022 Ory Corp -->\n\n<template>\n<Header />", dir.Content("vue.vue"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\n$a = 1;\n$b = 2;\n", dir.Content("php.php"))
assert.Equal(t, "# Copyright © 2022 Ory Corp\n# SPDX-License-Identifier: Apache-2.0\n\na = 1\nb = 2\n", dir.Content("python.py"))
assert.Equal(t, "# Copyright © 2022 Ory Corp\n# SPDX-License-Identifier: Apache-2.0\n\na = 1\nb = 2\n", dir.Content("ruby.rb"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\nlet a = 1;\nlet mut b = 2;\n", dir.Content("rust.rs"))
assert.Equal(t, "// Copyright © 2022 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\nconst a = 1\nconst b = 2\n", dir.Content("typescript.ts"))
assert.Equal(t, "<!-- Copyright © 2022 Ory Corp -->\n<!-- SPDX-License-Identifier: Apache-2.0 -->\n\n<template>\n<Header />", dir.Content("vue.vue"))
assert.Equal(t, "one: two\nalpha: beta", dir.Content("yaml.yml"))
assert.Equal(t, "one: two\nalpha: beta", dir.Content("yaml.yaml"))
}
Expand Down