Frage

Ich habe diese Spezifikation:

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

Welche diese Ausgabe erzeugt:

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

Wenn ich die doppelten Anführungszeichen entfernen, ich diese Ausgabe erhalten:

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

Wenn ich Zitate meiner expected_output hinzufügen, bekomme ich diese: (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"

Was ist denn hier los?

Ich kann das Treetop Ergebnis erhalten bewerten die \ n als Zeilenumbrüche, und ich kann nicht die expected_output bekommen, unabhängig davon, entsprechen, was ich versuche.

Ich bin verwirrt.

War es hilfreich?

Lösung

Haben Sie versucht:

parsed.transform.should == expected_output

be könnte Objektidentität verwenden, anstatt die Zeichenfolge-Werte zu vergleichen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top