Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 22 additions & 22 deletions tests/date_picker/test_interaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,25 @@ def compose(self) -> ComposeResult:
app = MonthControlApp()

async with app.run_test() as pilot:
assert len(app.query(DatePicker)) == 1
date_picker = app.query_one(DatePicker)
month_header = app.query_one("DatePicker MonthHeader")
assert len(app.screen.query(DatePicker)) == 1
date_picker = app.screen.query_one(DatePicker)
month_header = app.screen.query_one("DatePicker MonthHeader")
current_month = pendulum.today().start_of("month")
current_month_str = current_month.format(month_header.format)
assert month_header.renderable == Text(current_month_str)
assert date_picker.date == current_month

assert app.focused is None
await pilot.press("tab")
assert app.focused == app.query("DatePicker MonthControl").first()
assert app.focused == app.screen.query("DatePicker MonthControl").first()
await pilot.press("enter")

last_month = pendulum.today().add(months=-1)
last_month_str = last_month.format(month_header.format)
assert month_header.renderable == Text(last_month_str)

await pilot.press("tab")
assert app.focused == app.query("DatePicker MonthControl").last()
assert app.focused == app.screen.query("DatePicker MonthControl").last()
await pilot.press("enter")
assert month_header.renderable == Text(current_month_str)
await pilot.press("enter")
Expand All @@ -58,11 +58,11 @@ def compose(self) -> ComposeResult:
app = MonthControlApp()

async with app.run_test() as pilot:
month_header = app.query_one("DatePicker MonthHeader")
date_picker = app.query_one(DatePicker)
month_header = app.screen.query_one("DatePicker MonthHeader")
date_picker = app.screen.query_one(DatePicker)

await pilot.press("tab")
assert app.focused == app.query("DatePicker MonthControl").first()
assert app.focused == app.screen.query("DatePicker MonthControl").first()
for month in range(1, 13):
await pilot.press("enter")

Expand All @@ -82,11 +82,11 @@ def compose(self) -> ComposeResult:
app = MonthControlApp()

async with app.run_test() as pilot:
date_picker = app.query_one(DatePicker)
date_picker = app.screen.query_one(DatePicker)
current_month = pendulum.today().start_of("month")

await pilot.press("tab")
assert app.focused == app.query("DatePicker MonthControl").first()
assert app.focused == app.screen.query("DatePicker MonthControl").first()

assert date_picker.date == current_month
await pilot.press("pageup")
Expand All @@ -95,7 +95,7 @@ def compose(self) -> ComposeResult:

await pilot.press("tab")
await pilot.press("tab")
assert app.focused == app.query("DatePicker DayLabel.--day").first()
assert app.focused == app.screen.query("DatePicker DayLabel.--day").first()
await pilot.press("pageup")
assert date_picker.date == pendulum.today(
tz="UTC").start_of("month").add(months=-2)
Expand All @@ -111,7 +111,7 @@ def compose(self) -> ComposeResult:

await pilot.press("home")
assert date_picker.date == pendulum.today()
assert app.focused == app.query("DatePicker DayLabel.--today").first()
assert app.focused == app.screen.query("DatePicker DayLabel.--today").first()


@pytest.mark.asyncio
Expand All @@ -124,8 +124,8 @@ def compose(self) -> ComposeResult:
app = MonthControlApp()

async with app.run_test() as pilot:
date_picker = app.query_one(DatePicker)
month_header = app.query_one("DatePicker MonthHeader")
date_picker = app.screen.query_one(DatePicker)
month_header = app.screen.query_one("DatePicker MonthHeader")

aug22 = pendulum.datetime(2022, 8, 1, 0, 0, 0)
date_picker.date = aug22
Expand All @@ -134,7 +134,7 @@ def compose(self) -> ComposeResult:
assert date_picker.date == aug22

await pilot.press("tab")
assert app.focused == app.query("DatePicker MonthControl").first()
assert app.focused == app.screen.query("DatePicker MonthControl").first()

assert date_picker.date == aug22
await pilot.press("up")
Expand All @@ -145,7 +145,7 @@ def compose(self) -> ComposeResult:

await pilot.press("tab")
await pilot.press("tab")
assert app.focused == app.query("DatePicker DayLabel.--day").first()
assert app.focused == app.screen.query("DatePicker DayLabel.--day").first()
assert app.focused.day == 1

# navigate within month
Expand Down Expand Up @@ -233,8 +233,8 @@ def compose(self) -> ComposeResult:
app = MonthControlApp()

async with app.run_test() as pilot:
date_picker = app.query_one(DatePicker)
month_header = app.query_one("DatePicker MonthHeader")
date_picker = app.screen.query_one(DatePicker)
month_header = app.screnn.query_one("DatePicker MonthHeader")

# a month with a day on the last line
oct22 = pendulum.datetime(2022, 10, 1, 0, 0, 0)
Expand Down Expand Up @@ -276,8 +276,8 @@ def compose(self) -> ComposeResult:
app = MonthControlApp()

async with app.run_test() as pilot:
date_picker = app.query_one(DatePicker)
month_header = app.query_one("DatePicker MonthHeader")
date_picker = app.screen.query_one(DatePicker)
month_header = app.screen.query_one("DatePicker MonthHeader")

# a month with five rows
feb23 = pendulum.datetime(2023, 2, 1, 0, 0, 0)
Expand All @@ -299,8 +299,8 @@ def compose(self) -> ComposeResult:
app = MonthControlApp()

async with app.run_test() as pilot:
first_day_label = app.query("DatePicker DayLabel").first()
first_day = app.query("DatePicker DayLabel.--day").first()
first_day_label = app.screen.query("DatePicker DayLabel").first()
first_day = app.screen.query("DatePicker DayLabel.--day").first()
click = events.Click(sender=first_day, x=0, y=0, screen_x=0, screen_y=0,
delta_x=0, delta_y=0, button=1,
shift=False, meta=False, ctrl=False)
Expand Down
22 changes: 11 additions & 11 deletions tests/date_select/test_interaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ def compose(self) -> ComposeResult:

app = OpenDateSelectApp()
async with app.run_test() as pilot:
assert len(app.query(DateSelect)) == 1
assert len(app.query(DatePicker)) == 1
date_select = app.query_one("DateSelect")
assert len(app.screen.query(DateSelect)) == 1
assert len(app.screen.query(DatePicker)) == 1
date_select = app.screen.query_one("DateSelect")
assert date_select.date is None

await pilot.press("tab")
Expand All @@ -47,7 +47,7 @@ def compose(self) -> ComposeResult:

app = OpenDateSelectApp()
async with app.run_test() as pilot:
date_select = app.query_one(DateSelect)
date_select = app.screen.query_one(DateSelect)
assert date_select.date is None
assert "please select" in date_select.render()

Expand All @@ -65,7 +65,7 @@ def compose(self) -> ComposeResult:

app = OpenDateSelectApp()
async with app.run_test() as pilot:
date_select = app.query_one(DateSelect)
date_select = app.screen.query_one(DateSelect)
assert date_select.date is not None
assert date_select.date == date
assert date.format(default_format) in date_select.render()
Expand All @@ -84,7 +84,7 @@ def compose(self) -> ComposeResult:

app = OpenDateSelectApp()
async with app.run_test() as pilot:
date_select = app.query_one(DateSelect)
date_select = app.screen.query_one(DateSelect)
assert date_select.date is not None
assert date_select.date == date
assert date.format(format) in date_select.render()
Expand All @@ -104,7 +104,7 @@ def compose(self) -> ComposeResult:

app = OpenDateSelectApp()
async with app.run_test() as pilot:
date_select = app.query_one(DateSelect)
date_select = app.screen.query_one(DateSelect)
assert date_select.date is None
assert tomorrow_str not in date_select.render()
assert date_select.dialog.display is False
Expand Down Expand Up @@ -136,7 +136,7 @@ def compose(self) -> ComposeResult:
await pilot.press("tab")
await pilot.press("enter")

assert app.focused == app.query("DatePicker DayLabel.--today").first()
assert app.focused == app.screen.query("DatePicker DayLabel.--today").first()

@pytest.mark.asyncio
async def test_given_last_month_focuses_first():
Expand Down Expand Up @@ -175,7 +175,7 @@ def compose(self) -> ComposeResult:

app = OpenDateSelectApp()
async with app.run_test() as pilot:
date_select = app.query_one(DateSelect)
date_select = app.screen.query_one(DateSelect)
await pilot.press("tab")
await pilot.press("enter")

Expand All @@ -199,7 +199,7 @@ def compose(self) -> ComposeResult:

app = OpenDateSelectApp()
async with app.run_test() as pilot:
date_select = app.query_one(DateSelect)
date_select = app.screen.query_one(DateSelect)
await pilot.press("tab")
await pilot.press("enter")

Expand All @@ -217,7 +217,7 @@ def compose(self) -> ComposeResult:
app = OpenDateSelectApp()

async with app.run_test() as pilot:
date_select = app.query_one(DateSelect)
date_select = app.screen.query_one(DateSelect)
click = events.Click(sender=date_select, x=0, y=0, screen_x=0, screen_y=0,
delta_x=0, delta_y=0, button=1,
shift=False, meta=False, ctrl=False)
Expand Down
4 changes: 2 additions & 2 deletions textual_datepicker/_date_select.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def on_mount(self) -> None:
if self.dialog is None:
self.dialog = DatePickerDialog()
self.dialog.target = self
self.app.query_one(self.picker_mount).mount(self.dialog)
self.app.screen.query_one(self.picker_mount).mount(self.dialog)

def on_key(self, event: events.Key) -> None:
if event.key == "enter":
Expand All @@ -138,7 +138,7 @@ def on_date_picker_selected(self, event: DatePicker.Selected) -> None:
self.date = event.date

def _show_date_picker(self) -> None:
mnt_widget = self.app.query_one(self.picker_mount)
mnt_widget = self.app.screen.query_one(self.picker_mount)
self.dialog.display = True

# calculate offset of DateSelect and apply it to DatePickerDialog
Expand Down