Flutter Linux Embedder
fl_string_codec_test.cc File Reference
#include "flutter/shell/platform/linux/public/flutter_linux/fl_string_codec.h"
#include "flutter/shell/platform/linux/testing/fl_test.h"
#include "gtest/gtest.h"

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;
38  g_autoptr(FlValue) value =
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 }

References error, fl_message_codec_decode_message(), fl_string_codec_new(), fl_value_ref(), and value.

Referenced by 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 
19  return bytes_to_hex_string(message);
20 }

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

Referenced by 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(), and value.

Referenced by 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");
71  ASSERT_STREQ(fl_value_get_string(value), "hello");
72 }

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

◆ TEST() [2/7]

TEST ( FlStringCodecTest  ,
DecodeEmpty   
)

Definition at line 74 of file fl_string_codec_test.cc.

74  {
75  g_autoptr(FlValue) value = decode_message("");
77  ASSERT_STREQ(fl_value_get_string(value), "");
78 }

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

◆ TEST() [3/7]

TEST ( FlStringCodecTest  ,
EncodeData   
)

Definition at line 45 of file fl_string_codec_test.cc.

45  {
46  g_autoptr(FlValue) value = fl_value_new_string("hello");
47  g_autofree gchar* hex_string = encode_message(value);
48  EXPECT_STREQ(hex_string, "68656c6c6f");
49 }

References encode_message(), fl_value_new_string(), 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 
83  g_autoptr(FlValue) input = fl_value_new_string("hello");
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 }

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

◆ TEST() [5/7]

TEST ( FlStringCodecTest  ,
EncodeEmpty   
)

Definition at line 51 of file fl_string_codec_test.cc.

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

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

◆ TEST() [6/7]

TEST ( FlStringCodecTest  ,
EncodeNullptr   
)

◆ TEST() [7/7]

TEST ( FlStringCodecTest  ,
EncodeUnknownType   
)
FlValue
typedefG_BEGIN_DECLS struct _FlValue FlValue
Definition: fl_value.h:42
fl_value_new_null
G_MODULE_EXPORT FlValue * fl_value_new_null()
Definition: fl_value.cc:251
decode_message
static FlValue * decode_message(const char *hex_string)
Definition: fl_string_codec_test.cc:34
fl_value_get_string
const G_MODULE_EXPORT gchar * fl_value_get_string(FlValue *self)
Definition: fl_value.cc:682
fl_value_ref
G_MODULE_EXPORT FlValue * fl_value_ref(FlValue *self)
Definition: fl_value.cc:394
fl_message_codec_decode_message
G_MODULE_EXPORT FlValue * fl_message_codec_decode_message(FlMessageCodec *self, GBytes *message, GError **error)
Definition: fl_message_codec.cc:33
fl_value_get_type
G_MODULE_EXPORT FlValueType fl_value_get_type(FlValue *self)
Definition: fl_value.cc:466
FL_VALUE_TYPE_STRING
@ FL_VALUE_TYPE_STRING
Definition: fl_value.h:69
encode_message
static gchar * encode_message(FlValue *value)
Definition: fl_string_codec_test.cc:11
fl_value_equal
G_MODULE_EXPORT bool fl_value_equal(FlValue *a, FlValue *b)
Definition: fl_value.cc:471
error
const uint8_t uint32_t uint32_t GError ** error
Definition: fl_pixel_buffer_texture_test.cc:40
fl_string_codec_new
G_MODULE_EXPORT FlStringCodec * fl_string_codec_new()
Definition: fl_string_codec.cc:53
encode_message_error
static void encode_message_error(FlValue *value, GQuark domain, int code)
Definition: fl_string_codec_test.cc:23
fl_message_codec_encode_message
G_MODULE_EXPORT GBytes * fl_message_codec_encode_message(FlMessageCodec *self, FlValue *message, GError **error)
Definition: fl_message_codec.cc:17
FL_MESSAGE_CODEC_ERROR_UNSUPPORTED_TYPE
@ FL_MESSAGE_CODEC_ERROR_UNSUPPORTED_TYPE
Definition: fl_message_codec.h:37
value
uint8_t value
Definition: fl_standard_message_codec.cc:36
fl_value_new_string
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
Definition: fl_value.cc:276
FL_MESSAGE_CODEC_ERROR
#define FL_MESSAGE_CODEC_ERROR
Definition: fl_message_codec.h:30