O teste RSPEC da saída do analisador de Treetop não corresponde quando deveria

StackOverflow https://stackoverflow.com/questions/3444597

  •  27-09-2019
  •  | 
  •  

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.

Foi útil?

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
scroll top