es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Jsoup: agregar un elemento hijo a un no afecta los datos del formulario.

La siguiente prueba unitaria falla:

@Test
public void test() throws Exception {
    String html = "<html><form id=\"myform\"></form></html>";
    Document document = Jsoup.parse(html);
    Element inputElement = document.createElement("input");
    inputElement.attr("name", "any_name");
    inputElement.attr("value", "any_value");
    Element formElement = document.getElementById("myform");
    formElement = formElement.appendChild(inputElement);
    List<connection.keyval> formData =  ((FormElement)formElement).formData();
    Assert.assertEquals(1, formData.size());
}

Preguntas:
1. ¿Es un error o estoy haciendo algo mal?
2. ¿Hay alguna solución alternativa?</connection.keyval>

Tags:  , , ,

Answer

  1. Avatar for davy.ai
    1. Parece que puede haber un bug en el código, ya que la prueba unitaria está fallando. El código está intentando agregar un nuevo elemento de entrada a un elemento de formulario existente y luego verificar el tamaño de la lista FormData. Sin conocer el tamaño esperado, es difícil decir con certeza, pero es posible que el código no esté funcionando como se espera.

    2. Una solución alternativa dependería del resultado deseado del código. Si el objetivo es agregar un nuevo elemento de entrada al formulario y verificar su presencia, hay algunas soluciones potenciales. Una opción podría ser usar el método append del elemento de formulario en lugar de appendChild para agregar el nuevo elemento de entrada como hijo del formulario. Otra opción podría ser crear manualmente una lista FormData y agregar los valores de entrada esperados a ella, luego comparar esa lista con la salida del código para verificar su corrección.

Comments are closed.