aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/script/textinput.rs
diff options
context:
space:
mode:
authorAvi Weinstock <aweinstock314@gmail.com>2015-04-22 13:25:05 -0400
committerAvi Weinstock <aweinstock314@gmail.com>2015-05-06 11:46:18 -0400
commitb742eeca050856b3055668c9021bacfb19b3de4a (patch)
tree231032915096b819248519d5885161d6d1867090 /tests/unit/script/textinput.rs
parent387836c42e2377fc53d51d3404e6b91d170727a8 (diff)
downloadservo-b742eeca050856b3055668c9021bacfb19b3de4a.tar.gz
servo-b742eeca050856b3055668c9021bacfb19b3de4a.zip
Made the clipboard-related functionality in TextInput more testable. Added test_clipboard_paste to the "test-unit" suite.
Diffstat (limited to 'tests/unit/script/textinput.rs')
-rw-r--r--tests/unit/script/textinput.rs36
1 files changed, 23 insertions, 13 deletions
diff --git a/tests/unit/script/textinput.rs b/tests/unit/script/textinput.rs
index 0d7326685db..c5ede5262d1 100644
--- a/tests/unit/script/textinput.rs
+++ b/tests/unit/script/textinput.rs
@@ -7,12 +7,14 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
+use msg::constellation_msg::{Key, CONTROL};
use script::textinput::{TextInput, Selection, Lines, DeleteDir};
+use script::clipboard_provider::DummyClipboardContext;
use std::borrow::ToOwned;
#[test]
fn test_textinput_delete_char() {
- let mut textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), DummyClipboardContext::new(""));
textinput.adjust_horizontal(2, Selection::NotSelected);
textinput.delete_char(DeleteDir::Backward);
assert_eq!(textinput.get_content(), "acdefg");
@@ -27,7 +29,7 @@ fn test_textinput_delete_char() {
#[test]
fn test_textinput_insert_char() {
- let mut textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), DummyClipboardContext::new(""));
textinput.adjust_horizontal(2, Selection::NotSelected);
textinput.insert_char('a');
assert_eq!(textinput.get_content(), "abacdefg");
@@ -39,7 +41,7 @@ fn test_textinput_insert_char() {
#[test]
fn test_textinput_get_sorted_selection() {
- let mut textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), DummyClipboardContext::new(""));
textinput.adjust_horizontal(2, Selection::NotSelected);
textinput.adjust_horizontal(2, Selection::Selected);
let (begin, end) = textinput.get_sorted_selection();
@@ -56,7 +58,7 @@ fn test_textinput_get_sorted_selection() {
#[test]
fn test_textinput_replace_selection() {
- let mut textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), DummyClipboardContext::new(""));
textinput.adjust_horizontal(2, Selection::NotSelected);
textinput.adjust_horizontal(2, Selection::Selected);
@@ -66,7 +68,7 @@ fn test_textinput_replace_selection() {
#[test]
fn test_textinput_current_line_length() {
- let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), DummyClipboardContext::new(""));
assert_eq!(textinput.current_line_length(), 3);
textinput.adjust_vertical(1, Selection::NotSelected);
@@ -78,7 +80,7 @@ fn test_textinput_current_line_length() {
#[test]
fn test_textinput_adjust_vertical() {
- let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), DummyClipboardContext::new(""));
textinput.adjust_horizontal(3, Selection::NotSelected);
textinput.adjust_vertical(1, Selection::NotSelected);
assert_eq!(textinput.edit_point.line, 1);
@@ -95,7 +97,7 @@ fn test_textinput_adjust_vertical() {
#[test]
fn test_textinput_adjust_horizontal() {
- let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), DummyClipboardContext::new(""));
textinput.adjust_horizontal(4, Selection::NotSelected);
assert_eq!(textinput.edit_point.line, 1);
assert_eq!(textinput.edit_point.index, 0);
@@ -115,12 +117,12 @@ fn test_textinput_adjust_horizontal() {
#[test]
fn test_textinput_handle_return() {
- let mut single_line_textinput = TextInput::new(Lines::Single, "abcdef".to_owned(), None);
+ let mut single_line_textinput = TextInput::new(Lines::Single, "abcdef".to_owned(), DummyClipboardContext::new(""));
single_line_textinput.adjust_horizontal(3, Selection::NotSelected);
single_line_textinput.handle_return();
assert_eq!(single_line_textinput.get_content(), "abcdef");
- let mut multi_line_textinput = TextInput::new(Lines::Multiple, "abcdef".to_owned(), None);
+ let mut multi_line_textinput = TextInput::new(Lines::Multiple, "abcdef".to_owned(), DummyClipboardContext::new(""));
multi_line_textinput.adjust_horizontal(3, Selection::NotSelected);
multi_line_textinput.handle_return();
assert_eq!(multi_line_textinput.get_content(), "abc\ndef");
@@ -128,7 +130,7 @@ fn test_textinput_handle_return() {
#[test]
fn test_textinput_select_all() {
- let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), DummyClipboardContext::new(""));
assert_eq!(textinput.edit_point.line, 0);
assert_eq!(textinput.edit_point.index, 0);
@@ -139,16 +141,16 @@ fn test_textinput_select_all() {
#[test]
fn test_textinput_get_content() {
- let single_line_textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), None);
+ let single_line_textinput = TextInput::new(Lines::Single, "abcdefg".to_owned(), DummyClipboardContext::new(""));
assert_eq!(single_line_textinput.get_content(), "abcdefg");
- let multi_line_textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), None);
+ let multi_line_textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), DummyClipboardContext::new(""));
assert_eq!(multi_line_textinput.get_content(), "abc\nde\nf");
}
#[test]
fn test_textinput_set_content() {
- let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), None);
+ let mut textinput = TextInput::new(Lines::Multiple, "abc\nde\nf".to_owned(), DummyClipboardContext::new(""));
assert_eq!(textinput.get_content(), "abc\nde\nf");
textinput.set_content("abc\nf".to_owned());
@@ -165,3 +167,11 @@ fn test_textinput_set_content() {
assert_eq!(textinput.edit_point.index, 2);
}
+#[test]
+fn test_clipboard_paste() {
+ let mut textinput = TextInput::new(Lines::Single, "defg".to_owned(), DummyClipboardContext::new("abc"));
+ assert_eq!(textinput.get_content(), "defg");
+ assert_eq!(textinput.edit_point.index, 0);
+ textinput.handle_keydown_aux(Key::V, CONTROL);
+ assert_eq!(textinput.get_content(), "abcdefg");
+}