select word on double click
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
import unittest
|
||||
import tempfile
|
||||
from configparser import ConfigParser
|
||||
from os.path import join
|
||||
|
||||
from logFileModel import LogFileModel
|
||||
from line import Line
|
||||
from settings import Settings
|
||||
|
||||
|
||||
class TestLogFileModel(unittest.TestCase):
|
||||
@@ -11,7 +13,7 @@ class TestLogFileModel(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.test_dir = tempfile.TemporaryDirectory()
|
||||
self.tmpfile = join(self.test_dir.name, "my.log")
|
||||
self.model = LogFileModel(self.tmpfile)
|
||||
self.model = LogFileModel(self.tmpfile, Settings(ConfigParser()))
|
||||
|
||||
def tearDown(self):
|
||||
self.test_dir.cleanup()
|
||||
@@ -31,7 +33,7 @@ class TestLogFileModel(unittest.TestCase):
|
||||
|
||||
def test_load_from_middle_of_first_line(self):
|
||||
self.write_str("abc\ndef\nghi\njkl")
|
||||
expected_lines = ["def", "ghi", "jkl"]
|
||||
expected_lines = ["abc", "def", "ghi"]
|
||||
|
||||
lines = self.model.data(1, 0, 3)
|
||||
|
||||
@@ -40,7 +42,7 @@ class TestLogFileModel(unittest.TestCase):
|
||||
|
||||
def test_read_from_newline_character(self):
|
||||
self.write_str("abc\ndef\nghi\njkl")
|
||||
expected_lines = ["def", "ghi"]
|
||||
expected_lines = ["abc", "def"]
|
||||
|
||||
lines = self.model.data(3, 0, 2)
|
||||
|
||||
@@ -137,6 +139,37 @@ class TestLogFileModel(unittest.TestCase):
|
||||
line_str = [l.line() for l in lines]
|
||||
self.assertEqual(expected_lines, line_str)
|
||||
|
||||
def test_read_word_at_middle_of_line(self):
|
||||
text = "0___\nlorem ipsum dolor sit amet\n2___"
|
||||
self.write_str(text)
|
||||
expected = ("ipsum", text.index("ipsum"), text.index("ipsum") + len("ipsum"))
|
||||
actual = self.model.read_word_at(text.index("ipsum") + 2)
|
||||
self.assertEqual(expected, actual)
|
||||
|
||||
def test_read_word_at_start_of_line(self):
|
||||
text = "0___\nlorem ipsum dolor sit amet\n2___"
|
||||
word = "lorem"
|
||||
self.write_str(text)
|
||||
expected = (word, text.index(word), text.index(word) + len(word))
|
||||
actual = self.model.read_word_at(text.index(word))
|
||||
self.assertEqual(expected, actual)
|
||||
|
||||
def test_read_word_at_end_of_line(self):
|
||||
text = "0___\nlorem ipsum dolor sit amet\n2___"
|
||||
word = "amet"
|
||||
self.write_str(text)
|
||||
expected = (word, text.index(word), text.index(word) + len(word))
|
||||
actual = self.model.read_word_at(text.index(word))
|
||||
self.assertEqual(expected, actual)
|
||||
|
||||
def test_read_word_at_beginning_of_file(self):
|
||||
text = "lorem ipsum dolor sit amet\n1___"
|
||||
word = "lorem"
|
||||
self.write_str(text)
|
||||
expected = (word, text.index(word), text.index(word) + len(word))
|
||||
actual = self.model.read_word_at(text.index(word))
|
||||
self.assertEqual(expected, actual)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user