2

我有这个规格:

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"

如果我在 expected_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 匹配。

我很困惑。

4

1 回答 1

1

你试过了吗:

parsed.transform.should == expected_output

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

于 2010-08-09T23:21:25.460 回答