mirror of
https://github.com/protocolbuffers/protobuf-go.git
synced 2024-12-29 12:17:48 +00:00
3d8e369c4e
This implements generation of and reflection support for weak fields. Weak fields are a proto1 feature where the "weak" option can be specified on a singular message field. A weak reference results in generated code that does not directly link in the dependency containing the weak message. Weak field support is not added to any of the serialization logic. Change-Id: I08ccfa72bc80b2ffb6af527a1677a0a81dcf33fb Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/185399 Reviewed-by: Damien Neil <dneil@google.com>
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package prototest_test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"google.golang.org/protobuf/internal/flags"
|
|
"google.golang.org/protobuf/proto"
|
|
"google.golang.org/protobuf/testing/prototest"
|
|
|
|
irregularpb "google.golang.org/protobuf/internal/testprotos/irregular"
|
|
testpb "google.golang.org/protobuf/internal/testprotos/test"
|
|
_ "google.golang.org/protobuf/internal/testprotos/test/weak1"
|
|
_ "google.golang.org/protobuf/internal/testprotos/test/weak2"
|
|
test3pb "google.golang.org/protobuf/internal/testprotos/test3"
|
|
)
|
|
|
|
func Test(t *testing.T) {
|
|
ms := []proto.Message{
|
|
(*testpb.TestAllTypes)(nil),
|
|
(*test3pb.TestAllTypes)(nil),
|
|
(*testpb.TestRequired)(nil),
|
|
(*irregularpb.Message)(nil),
|
|
(*testpb.TestAllExtensions)(nil),
|
|
}
|
|
if flags.Proto1Legacy {
|
|
ms = append(ms, (*testpb.TestWeak)(nil))
|
|
}
|
|
|
|
for _, m := range ms {
|
|
t.Run(fmt.Sprintf("%T", m), func(t *testing.T) {
|
|
prototest.TestMessage(t, m, prototest.MessageOptions{})
|
|
})
|
|
}
|
|
}
|