| package header |
| |
| import ( |
| "testing" |
| |
| "github.com/apache/skywalking-eyes/license-eye/pkg/comments" |
| ) |
| |
| var config = &ConfigHeader{ |
| License: ` |
| Licensed to Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| Apache Software Foundation (ASF) licenses this file to you under |
| the Apache License, Version 2.0 (the "License"); you may |
| not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| `, |
| } |
| |
| func Test(t *testing.T) { |
| tests := []struct { |
| filename string |
| comments string |
| }{ |
| { |
| filename: "Test.java", |
| comments: `/* |
| * Licensed to Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * Apache Software Foundation (ASF) licenses this file to you under |
| * the Apache License, Version 2.0 (the "License"); you may |
| * not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| `, |
| }, |
| { |
| filename: "Test.py", |
| comments: `# |
| # Licensed to Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # Apache Software Foundation (ASF) licenses this file to you under |
| # the Apache License, Version 2.0 (the "License"); you may |
| # not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # |
| `, |
| }, |
| } |
| for _, test := range tests { |
| t.Run(test.filename, func(t *testing.T) { |
| style := comments.FileCommentStyle(test.filename) |
| if c, err := generateLicenseHeader(style, config); err != nil && c != test.comments { |
| t.Log("Actual:", c) |
| t.Log("Expected:", test.comments) |
| t.Logf("Middle:'%v'\n", style.Middle) |
| t.Log(err) |
| t.Fail() |
| } |
| }) |
| } |
| } |