Flutter Engine
The Flutter Engine
Functions
flutter_codecs_unittest.mm File Reference
#import "flutter/shell/platform/darwin/common/framework/Headers/FlutterCodecs.h"
#include "gtest/gtest.h"

Go to the source code of this file.

Functions

FLUTTER_ASSERT_ARC TEST (FlutterStringCodec, CanEncodeAndDecodeNil)
 
 TEST (FlutterStringCodec, CanEncodeAndDecodeEmptyString)
 
 TEST (FlutterStringCodec, CanEncodeAndDecodeAsciiString)
 
 TEST (FlutterStringCodec, CanEncodeAndDecodeNonAsciiString)
 
 TEST (FlutterStringCodec, CanEncodeAndDecodeNonBMPString)
 
 TEST (FlutterJSONCodec, ThrowsOnInvalidEncode)
 
 TEST (FlutterJSONCodec, CanDecodeZeroLength)
 
 TEST (FlutterJSONCodec, ThrowsOnInvalidDecode)
 
 TEST (FlutterJSONCodec, CanEncodeAndDecodeNil)
 
 TEST (FlutterJSONCodec, CanEncodeAndDecodeArray)
 
 TEST (FlutterJSONCodec, CanEncodeAndDecodeDictionary)
 

Function Documentation

◆ TEST() [1/11]

TEST ( FlutterJSONCodec  ,
CanDecodeZeroLength   
)

Definition at line 55 of file flutter_codecs_unittest.mm.

55 {
56 FlutterJSONMessageCodec* codec = [FlutterJSONMessageCodec sharedInstance];
57 ASSERT_TRUE([codec decode:[NSData data]] == nil);
58}
static DecodeResult decode(std::string path)
Definition: png_codec.cpp:124
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:63

◆ TEST() [2/11]

TEST ( FlutterJSONCodec  ,
CanEncodeAndDecodeArray   
)

Definition at line 73 of file flutter_codecs_unittest.mm.

73 {
74 NSArray* value = @[ [NSNull null], @"hello", @3.14, @47, @{@"a" : @"nested"} ];
75 FlutterJSONMessageCodec* codec = [FlutterJSONMessageCodec sharedInstance];
76 NSData* encoded = [codec encode:value];
77 NSArray* decoded = [codec decode:encoded];
78 ASSERT_TRUE([value isEqualTo:decoded]);
79}
static void encode(uint8_t output[16], const uint32_t input[4])
Definition: SkMD5.cpp:240
uint8_t value

◆ TEST() [3/11]

TEST ( FlutterJSONCodec  ,
CanEncodeAndDecodeDictionary   
)

Definition at line 81 of file flutter_codecs_unittest.mm.

81 {
82 NSDictionary* value = @{@"a" : @3.14, @"b" : @47, @"c" : [NSNull null], @"d" : @[ @"nested" ]};
83 FlutterJSONMessageCodec* codec = [FlutterJSONMessageCodec sharedInstance];
84 NSData* encoded = [codec encode:value];
85 NSDictionary* decoded = [codec decode:encoded];
86 ASSERT_TRUE([value isEqualTo:decoded]);
87}

◆ TEST() [4/11]

TEST ( FlutterJSONCodec  ,
CanEncodeAndDecodeNil   
)

Definition at line 67 of file flutter_codecs_unittest.mm.

67 {
68 FlutterJSONMessageCodec* codec = [FlutterJSONMessageCodec sharedInstance];
69 ASSERT_TRUE([codec encode:nil] == nil);
70 ASSERT_TRUE([codec decode:nil] == nil);
71}

◆ TEST() [5/11]

TEST ( FlutterJSONCodec  ,
ThrowsOnInvalidDecode   
)

Definition at line 60 of file flutter_codecs_unittest.mm.

60 {
61 NSString* value = @"{{{";
62 FlutterJSONMessageCodec* codec = [FlutterJSONMessageCodec sharedInstance];
63 EXPECT_EXIT([codec decode:[value dataUsingEncoding:value.fastestEncoding]],
64 testing::KilledBySignal(SIGABRT), "No string key for value in object around line 1");
65}

◆ TEST() [6/11]

TEST ( FlutterJSONCodec  ,
ThrowsOnInvalidEncode   
)

Definition at line 47 of file flutter_codecs_unittest.mm.

47 {
48 NSString* value = [[NSString alloc] initWithBytes:"\xdf\xff"
49 length:2
50 encoding:NSUTF16StringEncoding];
51 FlutterJSONMessageCodec* codec = [FlutterJSONMessageCodec sharedInstance];
52 EXPECT_EXIT([codec encode:value], testing::KilledBySignal(SIGABRT), "failed to convert to UTF8");
53}
size_t length

◆ TEST() [7/11]

TEST ( FlutterStringCodec  ,
CanEncodeAndDecodeAsciiString   
)

Definition at line 23 of file flutter_codecs_unittest.mm.

23 {
24 NSString* value = @"hello world";
25 FlutterStringCodec* codec = [FlutterStringCodec sharedInstance];
26 NSData* encoded = [codec encode:value];
27 NSString* decoded = [codec decode:encoded];
28 ASSERT_TRUE([value isEqualTo:decoded]);
29}

◆ TEST() [8/11]

TEST ( FlutterStringCodec  ,
CanEncodeAndDecodeEmptyString   
)

Definition at line 17 of file flutter_codecs_unittest.mm.

17 {
18 FlutterStringCodec* codec = [FlutterStringCodec sharedInstance];
19 ASSERT_TRUE([[codec encode:@""] isEqualTo:[NSData data]]);
20 ASSERT_TRUE([[codec decode:[NSData data]] isEqualTo:@""]);
21}

◆ TEST() [9/11]

FLUTTER_ASSERT_ARC TEST ( FlutterStringCodec  ,
CanEncodeAndDecodeNil   
)

Definition at line 11 of file flutter_codecs_unittest.mm.

11 {
12 FlutterStringCodec* codec = [FlutterStringCodec sharedInstance];
13 ASSERT_TRUE([codec encode:nil] == nil);
14 ASSERT_TRUE([codec decode:nil] == nil);
15}

◆ TEST() [10/11]

TEST ( FlutterStringCodec  ,
CanEncodeAndDecodeNonAsciiString   
)

Definition at line 31 of file flutter_codecs_unittest.mm.

31 {
32 NSString* value = @"hello \u263A world";
33 FlutterStringCodec* codec = [FlutterStringCodec sharedInstance];
34 NSData* encoded = [codec encode:value];
35 NSString* decoded = [codec decode:encoded];
36 ASSERT_TRUE([value isEqualTo:decoded]);
37}

◆ TEST() [11/11]

TEST ( FlutterStringCodec  ,
CanEncodeAndDecodeNonBMPString   
)

Definition at line 39 of file flutter_codecs_unittest.mm.

39 {
40 NSString* value = @"hello \U0001F602 world";
41 FlutterStringCodec* codec = [FlutterStringCodec sharedInstance];
42 NSData* encoded = [codec encode:value];
43 NSString* decoded = [codec decode:encoded];
44 ASSERT_TRUE([value isEqualTo:decoded]);
45}