Treetop解析器输出的RSpec测试不应该匹配

时间:2010-08-09 22:14:13

标签: ruby rspec treetop

我有这个规格:

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"

如果我在expect_output中添加引号,我会得到: (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"

这里发生了什么?

我无法获得Treetop结果来评估\ n作为换行符,无论我尝试什么,我都无法使expected_output匹配。

我很困惑。

1 个答案:

答案 0 :(得分:1)

你有没有尝试过:

parsed.transform.should == expected_output

be可能使用对象标识而不是比较字符串值。