O teste RSPEC da saída do analisador de Treetop não corresponde quando deveria
Pergunta
Eu tenho esta especificação:
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
Que produz esta saída:
expected ## Core
## Special
## Omgg
## Moarheaders
, got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Se eu remover as cotações duplas, recebo esta saída:
expected ## Core\n## Special\n## Omgg\n## Moarheaders\n,
got "## Core\n## Special\n## Omgg\n## Moarheaders\n"
Se eu adicionar cotações ao meu esperado_Output, entendi: (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"
O que está acontecendo aqui?
Não consigo obter o resultado da Treetop para avaliar o n como novas linhas, e não consigo fazer com que o esperado corresponda, independentemente do que tento.
Estou confuso.
Solução
Você tentou:
parsed.transform.should == expected_output
be
pode usar a identidade do objeto em vez de comparar os valores da string.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow