Pregunta

Tengo esta especificación:

it 'can parse armies with only section headers' do
  list = <<-LIST
  :Core
  :Special
  :Omgg
  :Moarheaders
  LIST
  expected_output = "## Core\n## Special\n## Omgg\n## Moarheaders\n"
  parsed = @parser.parse(list)
  parsed.should_not be_nil
  parsed.transform.should be expected_output
end

¿Qué produce esta salida:

expected ## Core
## Special
## Omgg
## Moarheaders
, got "## Core\n## Special\n## Omgg\n## Moarheaders\n"

Si elimino las comillas dobles, consigo esta salida:

expected ## Core\n## Special\n## Omgg\n## Moarheaders\n, 
got     "## Core\n## Special\n## Omgg\n## Moarheaders\n"

Si añado cotizaciones a mi expected_output, me sale esto: (expected_output = '"## Core\n## Special\n## Omgg\n## Moarheaders\n"')

expected "## Core\n## Special\n## Omgg\n## Moarheaders\n", 
got      "## Core\n## Special\n## Omgg\n## Moarheaders\n"

¿Qué está pasando aquí?

No puedo obtener el resultado copa de árbol para evaluar la \ n como saltos de línea, y no puedo conseguir el expected_output para que coincida con independencia de lo que intento.

Estoy confundido.

¿Fue útil?

Solución

¿Usted intentó:

parsed.transform.should == expected_output

be podría utilizar la identidad del objeto en lugar de comparar los valores de cadena.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top