Flutter Engine
 
Loading...
Searching...
No Matches
fl_string_codec_test.cc File Reference

Go to the source code of this file.

Functions

static gchar * encode_message (FlValue *value)
 
static void encode_message_error (FlValue *value, GQuark domain, int code)
 
static FlValuedecode_message (const char *hex_string)
 
 TEST (FlStringCodecTest, EncodeData)
 
 TEST (FlStringCodecTest, EncodeEmpty)
 
 TEST (FlStringCodecTest, EncodeNullptr)
 
 TEST (FlStringCodecTest, EncodeUnknownType)
 
 TEST (FlStringCodecTest, DecodeData)
 
 TEST (FlStringCodecTest, DecodeEmpty)
 
 TEST (FlStringCodecTest, EncodeDecode)
 

Function Documentation

◆ decode_message()

static FlValue * decode_message ( const char *  hex_string)
static

Definition at line 34 of file fl_string_codec_test.cc.

34 {
35 g_autoptr(FlStringCodec) codec = fl_string_codec_new();
36 g_autoptr(GBytes) message = hex_string_to_bytes(hex_string);
37 g_autoptr(GError) error = nullptr;
39 fl_message_codec_decode_message(FL_MESSAGE_CODEC(codec), message, &error);
40 EXPECT_EQ(error, nullptr);
41 EXPECT_NE(value, nullptr);
42 return fl_value_ref(value);
43}
int32_t value
g_autoptr(GMutexLocker) locker
G_MODULE_EXPORT FlValue * fl_message_codec_decode_message(FlMessageCodec *self, GBytes *message, GError **error)
G_BEGIN_DECLS GBytes * message
const uint8_t uint32_t uint32_t GError ** error
G_MODULE_EXPORT FlStringCodec * fl_string_codec_new()
GBytes * hex_string_to_bytes(const gchar *hex_string)
Definition fl_test.cc:43
G_MODULE_EXPORT FlValue * fl_value_ref(FlValue *self)
Definition fl_value.cc:394
typedefG_BEGIN_DECLS struct _FlValue FlValue
Definition fl_value.h:42

References error, fl_message_codec_decode_message(), fl_string_codec_new(), fl_value_ref(), g_autoptr(), hex_string_to_bytes(), message, and value.

Referenced by TEST(), and TEST().

◆ encode_message()

static gchar * encode_message ( FlValue value)
static

Definition at line 11 of file fl_string_codec_test.cc.

11 {
12 g_autoptr(FlStringCodec) codec = fl_string_codec_new();
13 g_autoptr(GError) error = nullptr;
14 g_autoptr(GBytes) message =
15 fl_message_codec_encode_message(FL_MESSAGE_CODEC(codec), value, &error);
16 EXPECT_NE(message, nullptr);
17 EXPECT_EQ(error, nullptr);
18
20}
G_MODULE_EXPORT GBytes * fl_message_codec_encode_message(FlMessageCodec *self, FlValue *message, GError **error)
gchar * bytes_to_hex_string(GBytes *bytes)
Definition fl_test.cc:52

References bytes_to_hex_string(), error, fl_message_codec_encode_message(), fl_string_codec_new(), g_autoptr(), message, and value.

Referenced by TEST(), and TEST().

◆ encode_message_error()

static void encode_message_error ( FlValue value,
GQuark  domain,
int  code 
)
static

Definition at line 23 of file fl_string_codec_test.cc.

23 {
24 g_autoptr(FlStringCodec) codec = fl_string_codec_new();
25 g_autoptr(GError) error = nullptr;
26 g_autoptr(GBytes) message =
27 fl_message_codec_encode_message(FL_MESSAGE_CODEC(codec), value, &error);
28 EXPECT_EQ(message, nullptr);
29 EXPECT_TRUE(g_error_matches(error, domain, code));
30}

References error, fl_message_codec_encode_message(), fl_string_codec_new(), g_autoptr(), message, and value.

Referenced by TEST(), and TEST().

◆ TEST() [1/7]

TEST ( FlStringCodecTest  ,
DecodeData   
)

Definition at line 68 of file fl_string_codec_test.cc.

68 {
69 g_autoptr(FlValue) value = decode_message("68656c6c6f");
70 ASSERT_EQ(fl_value_get_type(value), FL_VALUE_TYPE_STRING);
71 ASSERT_STREQ(fl_value_get_string(value), "hello");
72}
static FlValue * decode_message(const char *hex_string)
G_MODULE_EXPORT FlValueType fl_value_get_type(FlValue *self)
Definition fl_value.cc:466
G_MODULE_EXPORT const gchar * fl_value_get_string(FlValue *self)
Definition fl_value.cc:682
@ FL_VALUE_TYPE_STRING
Definition fl_value.h:68

References decode_message(), fl_value_get_string(), fl_value_get_type(), FL_VALUE_TYPE_STRING, g_autoptr(), and value.

◆ TEST() [2/7]

TEST ( FlStringCodecTest  ,
DecodeEmpty   
)

◆ TEST() [3/7]

TEST ( FlStringCodecTest  ,
EncodeData   
)

Definition at line 45 of file fl_string_codec_test.cc.

45 {
47 g_autofree gchar* hex_string = encode_message(value);
48 EXPECT_STREQ(hex_string, "68656c6c6f");
49}
static gchar * encode_message(FlValue *value)
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
Definition fl_value.cc:276

References encode_message(), fl_value_new_string(), g_autoptr(), and value.

◆ TEST() [4/7]

TEST ( FlStringCodecTest  ,
EncodeDecode   
)

Definition at line 80 of file fl_string_codec_test.cc.

80 {
81 g_autoptr(FlStringCodec) codec = fl_string_codec_new();
82
84
85 g_autoptr(GError) error = nullptr;
86 g_autoptr(GBytes) message =
87 fl_message_codec_encode_message(FL_MESSAGE_CODEC(codec), input, &error);
88 EXPECT_NE(message, nullptr);
89 EXPECT_EQ(error, nullptr);
90
91 g_autoptr(FlValue) output =
92 fl_message_codec_decode_message(FL_MESSAGE_CODEC(codec), message, &error);
93 EXPECT_EQ(error, nullptr);
94 EXPECT_NE(output, nullptr);
95
96 ASSERT_TRUE(fl_value_equal(input, output));
97}
static int input(yyscan_t yyscanner)
G_MODULE_EXPORT bool fl_value_equal(FlValue *a, FlValue *b)
Definition fl_value.cc:471

References error, fl_message_codec_decode_message(), fl_message_codec_encode_message(), fl_string_codec_new(), fl_value_equal(), fl_value_new_string(), g_autoptr(), input(), and message.

◆ TEST() [5/7]

TEST ( FlStringCodecTest  ,
EncodeEmpty   
)

Definition at line 51 of file fl_string_codec_test.cc.

51 {
53 g_autofree gchar* hex_string = encode_message(value);
54 EXPECT_STREQ(hex_string, "");
55}

References encode_message(), fl_value_new_string(), g_autoptr(), and value.

◆ TEST() [6/7]

TEST ( FlStringCodecTest  ,
EncodeNullptr   
)

Definition at line 57 of file fl_string_codec_test.cc.

57 {
60}
@ FL_MESSAGE_CODEC_ERROR_UNSUPPORTED_TYPE
#define FL_MESSAGE_CODEC_ERROR
static void encode_message_error(FlValue *value, GQuark domain, int code)

References encode_message_error(), FL_MESSAGE_CODEC_ERROR, and FL_MESSAGE_CODEC_ERROR_UNSUPPORTED_TYPE.

◆ TEST() [7/7]

TEST ( FlStringCodecTest  ,
EncodeUnknownType   
)