Тест RSpec для вывода анализатора Treetop не совпадает, когда он должен - PullRequest
2 голосов
/ 10 августа 2010

У меня есть эта спецификация:

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

Который производит этот вывод:

expected ## Core
## Special
## Omgg
## Moarheaders
, got "## 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"

Если я добавлю кавычки к моему ожидаемому выводу, я получу это: (* 1 010 *)

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

Что здесь происходит?

Я не могу получить результат Treetop, чтобы оценить \ n как новые строки, и я не могу получить ожидаемый результат, соответствующий независимо от того, что пытаюсь.

Я в замешательстве.

1 Ответ

1 голос
/ 10 августа 2010

Вы пробовали:

parsed.transform.should == expected_output

be может использовать идентификатор объекта вместо сравнения строковых значений.

...