@@ -66,7 +66,14 @@ void main() {
66
66
);
67
67
await tester.pumpAndSettle ();
68
68
69
- expect (find.byKey (ObjectKey (webViewWidget.params)), findsOneWidget);
69
+ expect (
70
+ find.byKey (
71
+ ValueKey <WebKitWebViewWidgetCreationParams >(
72
+ webViewWidget.params as WebKitWebViewWidgetCreationParams ,
73
+ ),
74
+ ),
75
+ findsOneWidget,
76
+ );
70
77
71
78
// Pump WebViewWidget with second controller.
72
79
final WebKitWebViewController controller2 =
@@ -85,7 +92,81 @@ void main() {
85
92
);
86
93
await tester.pumpAndSettle ();
87
94
88
- expect (find.byKey (ObjectKey (webViewWidget2.params)), findsOneWidget);
95
+ expect (webViewWidget.params != webViewWidget2.params, isTrue);
96
+ expect (
97
+ find.byKey (
98
+ ValueKey <WebKitWebViewWidgetCreationParams >(
99
+ webViewWidget.params as WebKitWebViewWidgetCreationParams ,
100
+ ),
101
+ ),
102
+ findsNothing,
103
+ );
104
+ expect (
105
+ find.byKey (
106
+ ValueKey <WebKitWebViewWidgetCreationParams >(
107
+ webViewWidget2.params as WebKitWebViewWidgetCreationParams ,
108
+ ),
109
+ ),
110
+ findsOneWidget,
111
+ );
112
+ });
113
+
114
+ testWidgets (
115
+ 'Key of the PlatformView is the same when the creation params are equal' ,
116
+ (WidgetTester tester) async {
117
+ final InstanceManager testInstanceManager = InstanceManager (
118
+ onWeakReferenceRemoved: (_) {},
119
+ );
120
+
121
+ final WebKitWebViewController controller =
122
+ createTestWebViewController (testInstanceManager);
123
+
124
+ final WebKitWebViewWidget webViewWidget = WebKitWebViewWidget (
125
+ WebKitWebViewWidgetCreationParams (
126
+ controller: controller,
127
+ instanceManager: testInstanceManager,
128
+ ),
129
+ );
130
+
131
+ await tester.pumpWidget (
132
+ Builder (
133
+ builder: (BuildContext context) => webViewWidget.build (context),
134
+ ),
135
+ );
136
+ await tester.pumpAndSettle ();
137
+
138
+ expect (
139
+ find.byKey (
140
+ ValueKey <WebKitWebViewWidgetCreationParams >(
141
+ webViewWidget.params as WebKitWebViewWidgetCreationParams ,
142
+ ),
143
+ ),
144
+ findsOneWidget,
145
+ );
146
+
147
+ final WebKitWebViewWidget webViewWidget2 = WebKitWebViewWidget (
148
+ WebKitWebViewWidgetCreationParams (
149
+ controller: controller,
150
+ instanceManager: testInstanceManager,
151
+ ),
152
+ );
153
+
154
+ await tester.pumpWidget (
155
+ Builder (
156
+ builder: (BuildContext context) => webViewWidget2.build (context),
157
+ ),
158
+ );
159
+ await tester.pumpAndSettle ();
160
+
161
+ // Can find the new widget with the key of the first widget.
162
+ expect (
163
+ find.byKey (
164
+ ValueKey <WebKitWebViewWidgetCreationParams >(
165
+ webViewWidget.params as WebKitWebViewWidgetCreationParams ,
166
+ ),
167
+ ),
168
+ findsOneWidget,
169
+ );
89
170
});
90
171
});
91
172
}
0 commit comments