Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit fb2d122

Browse files
author
nturgut
committed
update unit tests. tests are added for ios-safari. android chrome is still not supported
1 parent 8b49cd0 commit fb2d122

File tree

1 file changed

+19
-59
lines changed

1 file changed

+19
-59
lines changed

lib/web_ui/test/text_editing_test.dart

+19-59
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ final InputConfiguration singlelineConfig = InputConfiguration(
3131
obscureText: false,
3232
inputAction: 'TextInputAction.done',
3333
autocorrect: true,
34-
textCapitalization:
35-
TextCapitalizationUtil.fromInputConfiguration('TextCapitalization.none'),
34+
textCapitalization: TextCapitalizationConfig.fromInputConfiguration(
35+
'TextCapitalization.none'),
3636
);
3737
final Map<String, dynamic> flutterSinglelineConfig =
3838
createFlutterConfig('text');
@@ -42,7 +42,7 @@ final InputConfiguration multilineConfig = InputConfiguration(
4242
obscureText: false,
4343
inputAction: 'TextInputAction.newline',
4444
autocorrect: true,
45-
textCapitalization: TextCapitalizationUtil.fromInputConfiguration(
45+
textCapitalization: TextCapitalizationConfig.fromInputConfiguration(
4646
'TextCapitalization.none'));
4747
final Map<String, dynamic> flutterMultilineConfig =
4848
createFlutterConfig('multiline');
@@ -115,7 +115,7 @@ void main() {
115115
inputAction: 'TextInputAction.done',
116116
obscureText: true,
117117
autocorrect: true,
118-
textCapitalization: TextCapitalizationUtil.fromInputConfiguration(
118+
textCapitalization: TextCapitalizationConfig.fromInputConfiguration(
119119
'TextCapitalization.none'));
120120
editingElement.enable(
121121
config,
@@ -136,7 +136,7 @@ void main() {
136136
inputAction: 'TextInputAction.done',
137137
obscureText: false,
138138
autocorrect: false,
139-
textCapitalization: TextCapitalizationUtil.fromInputConfiguration(
139+
textCapitalization: TextCapitalizationConfig.fromInputConfiguration(
140140
'TextCapitalization.none'));
141141
editingElement.enable(
142142
config,
@@ -157,7 +157,7 @@ void main() {
157157
inputAction: 'TextInputAction.done',
158158
obscureText: false,
159159
autocorrect: true,
160-
textCapitalization: TextCapitalizationUtil.fromInputConfiguration(
160+
textCapitalization: TextCapitalizationConfig.fromInputConfiguration(
161161
'TextCapitalization.none'));
162162
editingElement.enable(
163163
config,
@@ -297,7 +297,7 @@ void main() {
297297
obscureText: false,
298298
inputAction: 'TextInputAction.done',
299299
autocorrect: true,
300-
textCapitalization: TextCapitalizationUtil.fromInputConfiguration(
300+
textCapitalization: TextCapitalizationConfig.fromInputConfiguration(
301301
'TextCapitalization.none'));
302302
editingElement.enable(
303303
config,
@@ -324,7 +324,7 @@ void main() {
324324
obscureText: false,
325325
inputAction: 'TextInputAction.done',
326326
autocorrect: true,
327-
textCapitalization: TextCapitalizationUtil.fromInputConfiguration(
327+
textCapitalization: TextCapitalizationConfig.fromInputConfiguration(
328328
'TextCapitalization.none'));
329329
editingElement.enable(
330330
config,
@@ -868,12 +868,11 @@ void main() {
868868
});
869869

870870
test(
871-
'Word capitilization: setClient, setEditingState, show, '
872-
'updateEditingState', () {
871+
'No capitilization: setClient, setEditingState, show', () {
873872
// Create a configuration with an AutofillGroup of four text fields.
874873
final Map<String, dynamic> capitilizeWordsConfig = createFlutterConfig(
875874
'text',
876-
textCapitalization: 'TextCapitalization.words');
875+
textCapitalization: 'TextCapitalization.none');
877876
final MethodCall setClient = MethodCall(
878877
'TextInput.setClient', <dynamic>[123, capitilizeWordsConfig]);
879878
sendFrameworkMessage(codec.encodeMethodCall(setClient));
@@ -890,44 +889,27 @@ void main() {
890889
sendFrameworkMessage(codec.encodeMethodCall(show));
891890
spy.messages.clear();
892891

893-
expect(textEditing.editingElement.domElement.style.textTransform,
894-
'capitalize');
895-
896-
// Test for mobile Safari.
892+
// Test for mobile Safari. `sentences` is the default attribute for
893+
// mobile browsers. Check if `off` is added to the input element.
897894
if (browserEngine == BrowserEngine.webkit &&
898895
operatingSystem == OperatingSystem.iOs) {
899896
expect(
900897
textEditing.editingElement.domElement
901898
.getAttribute('autocapitalize'),
902-
'sentences');
899+
'off');
900+
} else {
901+
expect(
902+
textEditing.editingElement.domElement
903+
.getAttribute('autocapitalize'),
904+
isNull);
903905
}
904906

905-
final InputElement element = textEditing.editingElement.domElement;
906-
element.value = 'something some test';
907-
element.dispatchEvent(Event.eventType('Event', 'input'));
908-
909-
expect(spy.messages, hasLength(1));
910-
expect(spy.messages[0].channel, 'flutter/textinput');
911-
expect(spy.messages[0].methodName, 'TextInputClient.updateEditingState');
912-
expect(
913-
spy.messages[0].methodArguments,
914-
<dynamic>[
915-
123, // Client ID
916-
<String, dynamic>{
917-
'text': 'Something Some Test',
918-
'selectionBase': 19,
919-
'selectionExtent': 19,
920-
},
921-
],
922-
);
923-
924907
spy.messages.clear();
925908
hideKeyboard();
926909
});
927910

928911
test(
929-
'All characters capitilization: setClient, setEditingState, show, '
930-
'updateEditingState', () {
912+
'All characters capitilization: setClient, setEditingState, show', () {
931913
// Create a configuration with an AutofillGroup of four text fields.
932914
final Map<String, dynamic> capitilizeWordsConfig = createFlutterConfig(
933915
'text',
@@ -948,9 +930,6 @@ void main() {
948930
sendFrameworkMessage(codec.encodeMethodCall(show));
949931
spy.messages.clear();
950932

951-
expect(textEditing.editingElement.domElement.style.textTransform,
952-
'uppercase');
953-
954933
// Test for mobile Safari.
955934
if (browserEngine == BrowserEngine.webkit &&
956935
operatingSystem == OperatingSystem.iOs) {
@@ -960,25 +939,6 @@ void main() {
960939
'characters');
961940
}
962941

963-
final InputElement element = textEditing.editingElement.domElement;
964-
element.value = 'something some test';
965-
element.dispatchEvent(Event.eventType('Event', 'input'));
966-
967-
expect(spy.messages, hasLength(1));
968-
expect(spy.messages[0].channel, 'flutter/textinput');
969-
expect(spy.messages[0].methodName, 'TextInputClient.updateEditingState');
970-
expect(
971-
spy.messages[0].methodArguments,
972-
<dynamic>[
973-
123, // Client ID
974-
<String, dynamic>{
975-
'text': 'SOMETHING SOME TEST',
976-
'selectionBase': 19,
977-
'selectionExtent': 19,
978-
},
979-
],
980-
);
981-
982942
spy.messages.clear();
983943
hideKeyboard();
984944
});

0 commit comments

Comments
 (0)