1// Copyright 2021 Google Inc. All rights reserved. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14package pathtools 15 16import ( 17 "testing" 18) 19 20func TestLists_ReplaceExtension(t *testing.T) { 21 22 testCases := []struct { 23 from, ext, to string 24 }{ 25 {"1.jpg", "png", "1.png"}, 26 {"1", "png", "1.png"}, 27 {"1.", "png", "1.png"}, 28 {"2.so", "so.1", "2.so.1"}, 29 {"/out/.test/1.png", "jpg", "/out/.test/1.jpg"}, 30 {"/out/.test/1", "jpg", "/out/.test/1.jpg"}, 31 } 32 33 for _, test := range testCases { 34 t.Run(test.from, func(t *testing.T) { 35 got := ReplaceExtension(test.from, test.ext) 36 if got != test.to { 37 t.Errorf("ReplaceExtension(%v, %v) = %v; want: %v", test.from, test.ext, got, test.to) 38 } 39 }) 40 } 41} 42