Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(884)

Side by Side Diff: dart/tests/try/cursor_position_test.dart

Issue 345553008: Fix issues that broke editing on browsers without Shadow DOM support. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address Johnni's changes, and fix bugs found during testing. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Test that cursor positions are correctly updated after adding new content. 5 // Test that cursor positions are correctly updated after adding new content.
6 6
7 import 'test_try.dart'; 7 import 'test_try.dart';
8 8
9 void main() { 9 void main() {
10 InteractionManager interaction = mockTryDartInteraction(); 10 InteractionManager interaction = mockTryDartInteraction();
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 new TestCase('Test adding a new line with mock key event.', () { 43 new TestCase('Test adding a new line with mock key event.', () {
44 clearEditorPaneWithoutNotifications(); 44 clearEditorPaneWithoutNotifications();
45 checkSelectionIsCollapsed(mainEditorPane, 0); 45 checkSelectionIsCollapsed(mainEditorPane, 0);
46 simulateEnterKeyDown(interaction); 46 simulateEnterKeyDown(interaction);
47 }, checkAtBeginningOfSecondLine), 47 }, checkAtBeginningOfSecondLine),
48 48
49 new TestCase('Clear and presetup the test', () { 49 new TestCase('Clear and presetup the test', () {
50 clearEditorPaneWithoutNotifications(); 50 clearEditorPaneWithoutNotifications();
51 mainEditorPane.text = 'var greeting = "Hello, World!\n";'; 51 mainEditorPane.text = 'var greeting = "Hello, World!\n";';
52 }, () { 52 }, () {
53 checkLineCount(2); 53 checkLineCount(2);
54 }), 54 }),
55 55
56 new TestCase('Test removing a split line', () { 56 new TestCase('Test removing a split line', () {
57 mainEditorPane.nodes.first.nodes.last.remove(); 57 mainEditorPane.nodes.first.nodes.last.remove();
58 }, () { 58 }, () {
59 checkLineCount(1); 59 checkLineCount(1);
60 }), 60 }),
61 ]); 61 ]);
62 } 62 }
63 63
64 void simulateEnterKeyDown(InteractionManager interaction) { 64 void simulateEnterKeyDown(InteractionManager interaction) {
65 interaction.onKeyUp( 65 interaction.onKeyUp(
66 new MockKeyboardEvent('keydown', keyCode: KeyCode.ENTER)); 66 new MockKeyboardEvent('keydown', keyCode: KeyCode.ENTER));
67 } 67 }
68 68
69 void checkSelectionIsCollapsed(Node node, int offset) { 69 void checkSelectionIsCollapsed(Node node, int offset) {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 105
106 class MockKeyboardEvent extends KeyEvent { 106 class MockKeyboardEvent extends KeyEvent {
107 final int keyCode; 107 final int keyCode;
108 108
109 MockKeyboardEvent(String type, {int keyCode}) 109 MockKeyboardEvent(String type, {int keyCode})
110 : this.keyCode = keyCode, 110 : this.keyCode = keyCode,
111 super.wrap(new KeyEvent(type, keyCode: keyCode)); 111 super.wrap(new KeyEvent(type, keyCode: keyCode));
112 112
113 bool getModifierState(String keyArgument) => false; 113 bool getModifierState(String keyArgument) => false;
114 } 114 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698