Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit edabade

Browse files
committed
fix: cleaning up tests for release
1. Modify tests in `plotly/tests/test_optional/test_px/test_px_*.py` to expect failure when constructing datetime objects with timezones using PyArrow (which appears to need a different format for its constructor - we can clean this up later). 2. Convert plain string to raw string in `test_enumerated_validator.py` to avoid complaint about unrecognized escape sequence `\d`. 3. Do *not* delete the `"template"` key from JSON in JSON I/O test. 4. Convert from `scattermapbox` to `scattermap` in `test_skipped_b64_keys.py`. 5. Remove orca-related tests. 6. Optionally import `vaex` (not currently available for Python 3.11) and skip some tests if it is not available. 7. Modify `test_requirements/requirements_311_optional.txt` to include all the extra packages needed for testing with Python 3.11.
1 parent 3d36f14 commit edabade

File tree

19 files changed

+30
-11302
lines changed

19 files changed

+30
-11302
lines changed

‎packages/python/plotly/_plotly_utils/tests/validators/test_enumerated_validator.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def validator():
1414

1515
@pytest.fixture()
1616
def validator_re():
17-
values = ["foo", "/bar(\d)+/", "baz"]
17+
values = ["foo", r"/bar(\d)+/", "baz"]
1818
return EnumeratedValidator("prop", "parent", values, array_ok=False)
1919

2020

@@ -26,7 +26,7 @@ def validator_aok():
2626

2727
@pytest.fixture()
2828
def validator_aok_re():
29-
values = ["foo", "/bar(\d)+/", "baz"]
29+
values = ["foo", r"/bar(\d)+/", "baz"]
3030
return EnumeratedValidator("prop", "parent", values, array_ok=True)
3131

3232

‎packages/python/plotly/plotly/tests/test_io/test_to_from_plotly_json.py‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,6 @@ def test_sanitize_json(engine):
244244
fig = go.Figure(layout=layout)
245245
fig_json = pio.to_json_plotly(fig, engine=engine)
246246
layout_2 = json.loads(fig_json)["layout"]
247-
del layout_2["template"]
248247

249248
assert layout == layout_2
250249

‎packages/python/plotly/plotly/tests/test_optional/test_graph_objs/test_skipped_b64_keys.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def test_np_layers(self):
6666
"center": {"lon": 0.5, "lat": 51},
6767
},
6868
}
69-
data = [{"type": "scattermapbox"}]
69+
data = [{"type": "scattermap"}]
7070

7171
fig = go.Figure(data=data, layout=layout)
7272

‎packages/python/plotly/plotly/tests/test_optional/test_px/test_px_hover.py‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,12 @@ def test_sunburst_hoverdict_color(backend):
184184
assert "color" in fig.data[0].hovertemplate
185185

186186

187-
def test_date_in_hover(constructor):
187+
def test_date_in_hover(request, constructor):
188+
# FIXME: PyArrow requires a different format for datetime constructors with timezones
189+
from .conftest import pyarrow_table_constructor
190+
if constructor is pyarrow_table_constructor:
191+
request.applymarker(pytest.mark.xfail)
192+
188193
df = nw.from_native(
189194
constructor({"date": ["2015年04月04日 19:31:30+01:00"], "value": [3]})
190195
).with_columns(date=nw.col("date").str.to_datetime(format="%Y-%m-%d %H:%M:%S%z"))

‎packages/python/plotly/plotly/tests/test_optional/test_px/test_px_input.py‎

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,19 @@
88
from packaging import version
99
import unittest.mock as mock
1010
from plotly.express._core import build_dataframe
11+
from plotly import optional_imports
1112
from pandas.testing import assert_frame_equal
1213
import sys
1314
import warnings
1415

1516

17+
# FIXME: don't test with vaex if vaex isn't installed
18+
if optional_imports.get_module("vaex") is None:
19+
TEST_LIBS = ["polars"]
20+
else:
21+
TEST_LIBS = ["vaex", "polars"]
22+
23+
1624
def test_numpy():
1725
fig = px.scatter(x=[1, 2, 3], y=[2, 3, 4], color=[1, 3, 9])
1826
assert np.all(fig.data[0].x == np.array([1, 2, 3]))
@@ -342,7 +350,7 @@ def __dataframe__(self, allow_copy: bool = True):
342350
or sys.version_info >= (3, 12),
343351
reason="plotly doesn't use a dataframe interchange protocol for pandas < 2.0.2",
344352
)
345-
@pytest.mark.parametrize("test_lib", ["vaex", "polars"])
353+
@pytest.mark.parametrize("test_lib", TEST_LIBS)
346354
def test_build_df_from_vaex_and_polars(test_lib):
347355
if test_lib == "vaex":
348356
import vaex as lib
@@ -365,7 +373,7 @@ def test_build_df_from_vaex_and_polars(test_lib):
365373
or sys.version_info >= (3, 12),
366374
reason="plotly doesn't use a dataframe interchange protocol for pandas < 2.0.2",
367375
)
368-
@pytest.mark.parametrize("test_lib", ["vaex", "polars"])
376+
@pytest.mark.parametrize("test_lib", TEST_LIBS)
369377
@pytest.mark.parametrize(
370378
"hover_data", [["sepal_width"], {"sepal_length": False, "sepal_width": ":.2f"}]
371379
)
@@ -391,7 +399,12 @@ def test_build_df_with_hover_data_from_vaex_and_polars(test_lib, hover_data):
391399
)
392400

393401

394-
def test_timezones(constructor):
402+
def test_timezones(request, constructor):
403+
# FIXME: PyArrow requires a different format for datetime constructors with timezones
404+
from .conftest import pyarrow_table_constructor
405+
if constructor is pyarrow_table_constructor:
406+
request.applymarker(pytest.mark.xfail)
407+
395408
df = nw.from_native(
396409
constructor({"date": ["2015年04月04日 19:31:30+01:00"], "value": [3]})
397410
).with_columns(nw.col("date").str.to_datetime(format="%Y-%m-%d %H:%M:%S%z"))

‎packages/python/plotly/plotly/tests/test_orca/__init__.py‎

Whitespace-only changes.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /