microsoft / microsoft/playwright-python
[Bug]: 0.0 is serialized as -0 when passed to evaluate()
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 15k
- Forks
- 1.2k
- Merge medio
- 55 min
- PR fusionados (30 d)
- 4
Descripción
Version
1.62.1
Steps to reproduce
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
result = page.evaluate("(value) => Object.is(value, -0)", 0.0)
print(result)
browser.close()
Expected behavior
Passing Python 0.0 to JavaScript should preserve positive zero.
Object.is(value, -0) should return false.
Actual behavior
Python 0.0 is serialized as JavaScript -0.
Object.is(value, -0) returns true.
Additional context
No response
Environment
- Operating System: macOS Tahoe 26.4.1
- CPU: Apple M1 (arm64)
- Browser: Chromium
- Python Version: Python 3.14.5
- Other info:
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el punto de entrada sync_playwright page.evaluate y reproduce el problema usando el ejemplo de Python proporcionado. Traza cómo se serializa el argumento 0.0 antes de llegar a JavaScript y, a continuación, verifica que Object.is(value, -0) devuelve false con el comportamiento corregido.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api, testing-qa
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 68/100