Skip to content

Commit

Permalink
Migrate st_echo to playwright (streamlit#8315)
Browse files Browse the repository at this point in the history
<!--
⚠️ BEFORE CONTRIBUTING PLEASE READ OUR CONTRIBUTING GUIDELINES!
https://github.com/streamlit/streamlit/wiki/Contributing
-->

## Describe your changes
- title
## GitHub Issue Link (if applicable)

## Testing Plan

- Explanation of why no additional tests are needed
- Unit Tests (JS and/or Python)
- E2E Tests
- Any manual testing needed?

---

**Contribution License Agreement**

By submitting this pull request you agree that all contributions to this
project are made under the Apache 2.0 license.
  • Loading branch information
willhuang1997 authored Mar 22, 2024
1 parent 96404be commit e7cba6c
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 29 deletions.
28 changes: 0 additions & 28 deletions e2e/specs/st_echo.spec.js

This file was deleted.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion e2e/scripts/st_echo.py → e2e_playwright/st_echo.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,7 @@
import streamlit as st

with st.echo():
print("This code is awesome!")
st.write("This code is awesome!")

with st.echo(code_location="below"):
st.write("This code is awesome!")
31 changes: 31 additions & 0 deletions e2e_playwright/st_echo_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2024)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from playwright.sync_api import Page, expect

from e2e_playwright.conftest import ImageCompareFunction


def test_echo_msg(app: Page):
"""Test that st.echo shows that the correct message."""
echo_msg = app.locator(".element-container pre").nth(0)

expect(echo_msg).to_have_text('st.write("This code is awesome!")')


def test_echo_msg_code_location(app: Page, assert_snapshot: ImageCompareFunction):
"""Test that st.echo shows the correct location above and below"""
screen = app.get_by_test_id("stVerticalBlockBorderWrapper")

assert_snapshot(screen, name="st_echo-code_location_above_and_below")

0 comments on commit e7cba6c

Please sign in to comment.