Flutter Engine
Loading...
Searching...
No Matches
fl_method_response_test.cc
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#include "
flutter/shell/platform/linux/public/flutter_linux/fl_method_response.h
"
6
#include "gtest/gtest.h"
7
8
TEST
(FlMethodResponseTest, Success) {
9
g_autoptr
(
FlValue
) result =
fl_value_new_int
(42);
10
g_autoptr
(FlMethodSuccessResponse) response =
11
fl_method_success_response_new
(result);
12
g_autoptr
(
FlValue
) expected =
fl_value_new_int
(42);
13
ASSERT_TRUE(
fl_value_equal
(
fl_method_success_response_get_result
(response),
14
expected));
15
}
16
17
TEST
(FlMethodResponseTest, Error) {
18
g_autoptr
(FlMethodErrorResponse) response =
19
fl_method_error_response_new
(
"code"
,
nullptr
,
nullptr
);
20
EXPECT_STREQ(
fl_method_error_response_get_code
(response),
"code"
);
21
EXPECT_EQ(
fl_method_error_response_get_message
(response),
nullptr
);
22
EXPECT_EQ(
fl_method_error_response_get_details
(response),
nullptr
);
23
}
24
25
TEST
(FlMethodResponseTest, ErrorMessage) {
26
g_autoptr
(FlMethodErrorResponse) response =
27
fl_method_error_response_new
(
"code"
,
"message"
,
nullptr
);
28
EXPECT_STREQ(
fl_method_error_response_get_code
(response),
"code"
);
29
EXPECT_STREQ(
fl_method_error_response_get_message
(response),
"message"
);
30
EXPECT_EQ(
fl_method_error_response_get_details
(response),
nullptr
);
31
}
32
33
TEST
(FlMethodResponseTest, ErrorDetails) {
34
g_autoptr
(
FlValue
) details =
fl_value_new_int
(42);
35
g_autoptr
(FlMethodErrorResponse) response =
36
fl_method_error_response_new
(
"code"
,
nullptr
, details);
37
EXPECT_STREQ(
fl_method_error_response_get_code
(response),
"code"
);
38
EXPECT_EQ(
fl_method_error_response_get_message
(response),
nullptr
);
39
g_autoptr
(
FlValue
) expected_details =
fl_value_new_int
(42);
40
EXPECT_TRUE(
fl_value_equal
(
fl_method_error_response_get_details
(response),
41
expected_details));
42
}
43
44
TEST
(FlMethodResponseTest, ErrorMessageAndDetails) {
45
g_autoptr
(
FlValue
) details =
fl_value_new_int
(42);
46
g_autoptr
(FlMethodErrorResponse) response =
47
fl_method_error_response_new
(
"code"
,
"message"
, details);
48
EXPECT_STREQ(
fl_method_error_response_get_code
(response),
"code"
);
49
EXPECT_STREQ(
fl_method_error_response_get_message
(response),
"message"
);
50
g_autoptr
(
FlValue
) expected_details =
fl_value_new_int
(42);
51
EXPECT_TRUE(
fl_value_equal
(
fl_method_error_response_get_details
(response),
52
expected_details));
53
}
54
55
TEST
(FlMethodResponseTest, NotImplemented) {
56
g_autoptr
(FlMethodNotImplementedResponse) response =
57
fl_method_not_implemented_response_new
();
58
// Trivial check to stop the compiler deciding that 'response' is an unused
59
// variable.
60
EXPECT_TRUE(FL_IS_METHOD_NOT_IMPLEMENTED_RESPONSE(response));
61
}
62
63
TEST
(FlMethodResponseTest, SuccessGetResult) {
64
g_autoptr
(
FlValue
) r =
fl_value_new_int
(42);
65
g_autoptr
(FlMethodSuccessResponse) response =
66
fl_method_success_response_new
(r);
67
g_autoptr
(GError)
error
=
nullptr
;
68
FlValue
* result =
69
fl_method_response_get_result
(FL_METHOD_RESPONSE(response), &
error
);
70
ASSERT_NE(result,
nullptr
);
71
EXPECT_EQ(
error
,
nullptr
);
72
g_autoptr
(
FlValue
) expected =
fl_value_new_int
(42);
73
ASSERT_TRUE(
fl_value_equal
(result, expected));
74
}
75
76
TEST
(FlMethodResponseTest, ErrorGetResult) {
77
g_autoptr
(FlMethodErrorResponse) response =
78
fl_method_error_response_new
(
"code"
,
nullptr
,
nullptr
);
79
g_autoptr
(GError)
error
=
nullptr
;
80
g_autoptr
(
FlValue
) result =
81
fl_method_response_get_result
(FL_METHOD_RESPONSE(response), &
error
);
82
EXPECT_EQ(result,
nullptr
);
83
EXPECT_TRUE(g_error_matches(
error
,
FL_METHOD_RESPONSE_ERROR
,
84
FL_METHOD_RESPONSE_ERROR_REMOTE_ERROR
));
85
}
86
87
TEST
(FlMethodResponseTest, NotImplementedGetResult) {
88
g_autoptr
(FlMethodNotImplementedResponse) response =
89
fl_method_not_implemented_response_new
();
90
g_autoptr
(GError)
error
=
nullptr
;
91
g_autoptr
(
FlValue
) result =
92
fl_method_response_get_result
(FL_METHOD_RESPONSE(response), &
error
);
93
EXPECT_EQ(result,
nullptr
);
94
EXPECT_TRUE(g_error_matches(
error
,
FL_METHOD_RESPONSE_ERROR
,
95
FL_METHOD_RESPONSE_ERROR_NOT_IMPLEMENTED
));
96
}
g_autoptr
g_autoptr(GMutexLocker) locker
fl_method_response_get_result
G_MODULE_EXPORT FlValue * fl_method_response_get_result(FlMethodResponse *self, GError **error)
Definition
fl_method_response.cc:82
fl_method_success_response_get_result
G_MODULE_EXPORT FlValue * fl_method_success_response_get_result(FlMethodSuccessResponse *self)
Definition
fl_method_response.cc:138
fl_method_error_response_new
G_MODULE_EXPORT FlMethodErrorResponse * fl_method_error_response_new(const gchar *code, const gchar *message, FlValue *details)
Definition
fl_method_response.cc:144
fl_method_error_response_get_message
G_MODULE_EXPORT const gchar * fl_method_error_response_get_message(FlMethodErrorResponse *self)
Definition
fl_method_response.cc:166
fl_method_success_response_new
G_MODULE_EXPORT FlMethodSuccessResponse * fl_method_success_response_new(FlValue *result)
Definition
fl_method_response.cc:126
fl_method_error_response_get_details
G_MODULE_EXPORT FlValue * fl_method_error_response_get_details(FlMethodErrorResponse *self)
Definition
fl_method_response.cc:172
fl_method_error_response_get_code
G_MODULE_EXPORT const gchar * fl_method_error_response_get_code(FlMethodErrorResponse *self)
Definition
fl_method_response.cc:160
fl_method_not_implemented_response_new
G_MODULE_EXPORT FlMethodNotImplementedResponse * fl_method_not_implemented_response_new()
Definition
fl_method_response.cc:179
fl_method_response.h
FL_METHOD_RESPONSE_ERROR_NOT_IMPLEMENTED
@ FL_METHOD_RESPONSE_ERROR_NOT_IMPLEMENTED
Definition
fl_method_response.h:35
FL_METHOD_RESPONSE_ERROR_REMOTE_ERROR
@ FL_METHOD_RESPONSE_ERROR_REMOTE_ERROR
Definition
fl_method_response.h:34
FL_METHOD_RESPONSE_ERROR
#define FL_METHOD_RESPONSE_ERROR
Definition
fl_method_response.h:30
TEST
TEST(FlMethodResponseTest, Success)
Definition
fl_method_response_test.cc:8
error
const uint8_t uint32_t uint32_t GError ** error
Definition
fl_pixel_buffer_texture_test.cc:40
fl_value_new_int
G_MODULE_EXPORT FlValue * fl_value_new_int(int64_t value)
Definition
fl_value.cc:262
fl_value_equal
G_MODULE_EXPORT bool fl_value_equal(FlValue *a, FlValue *b)
Definition
fl_value.cc:471
FlValue
typedefG_BEGIN_DECLS struct _FlValue FlValue
Definition
fl_value.h:42
shell
platform
linux
fl_method_response_test.cc
Generated on Thu Nov 6 2025 16:11:28 for Flutter Engine by
1.9.8