| // Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'package:protobuf/protobuf.dart'; |
| import 'package:test/test.dart'; |
| |
| import '../out/protos/google/protobuf/unittest.pb.dart'; |
| |
| void main() { |
| test('setExtension clears unknown field with same tag number', () { |
| final m = TestAllExtensions(); |
| m.unknownFields.addField(Unittest.optionalInt32Extension.tagNumber, |
| UnknownFieldSetField()..addFixed32(33)); |
| expect(m.unknownFields.hasField(Unittest.optionalInt32Extension.tagNumber), |
| isTrue); |
| m.setExtension(Unittest.optionalInt32Extension, 42); |
| expect(m.getExtension(Unittest.optionalInt32Extension), 42); |
| expect(m.unknownFields.hasField(Unittest.optionalInt32Extension.tagNumber), |
| isFalse); |
| }); |
| } |