| #!/usr/bin/env fuchsia-vendored-python |
| # Copyright 2022 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import unittest |
| |
| from verify_golden_go_proto_file import filter_line |
| |
| |
| class VerifyGoldenGoProtoFileTests(unittest.TestCase): |
| """Validate golden_go_proto file comparisons |
| |
| This validates the logic used to compare generated Go for proto files with the |
| checked-in goldens for significant differences. |
| """ |
| |
| def test_filter_line(self): |
| cases = [ |
| ('// \tprotoc v1.2.3', '// \tprotoc \n'), |
| ('// \tprotoc-gen-go v1.2.3', '// \tprotoc-gen-go \n'), |
| ('// - protoc v1.2.3', '// - protoc \n'), |
| ('// - protoc-gen-go-grpc v1.2.3', '// - protoc-gen-go-grpc \n'), |
| ('some text with no comments', 'some text with no comments'), |
| ( |
| 'a line with // comments with spaces', |
| 'a line with //comments with spaces', |
| ), |
| ( |
| 'a line with //comments with spaces', |
| 'a line with //comments with spaces', |
| ), |
| ] |
| for (input, expected) in cases: |
| self.assertEqual(filter_line(input), expected) |