RSpec prova di uscita parser Treetop non corrisponde quando dovrebbe
Domanda
Ho questa spec:
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
Il che produce questo risultato:
expected ## Core
## Special
## Omgg
## Moarheaders
, got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Se rimuovo le doppie virgolette, ottengo questo output:
expected ## Core\n## Special\n## Omgg\n## Moarheaders\n,
got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Se posso aggiungere le citazioni al mio expected_output, ottengo questo:
(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"
Che cosa sta succedendo qui?
Non riesco a ottenere il risultato Treetop per valutare l'\ n come a capo, e non riesco a ottenere l'expected_output per corrispondere indipendentemente da ciò che provo.
Sono confuso.
Soluzione
Hai provato:
parsed.transform.should == expected_output
be
potrebbe utilizzare identità di un oggetto invece di confrontare i valori di stringa.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow