inspec/test/unit/mock/files/example.csv
Adam Leff 4f2b66302d Fix ObjectTraverser when accessing array values
When attempting to access array values via the `json` resource:

```
describe json('/tmp/test.json') do
      its(['array',0]) { should eq "zero" }
end
```

... the resulting data would be an array of the size of the original array
with all the values replaced with nils:

```
     expected: "zero"
          got: [nil, nil, nil]
```

This was due to a bug in the ObjectTraverser mixin that mapped array values
back through `extract_value` rather than properly handling the passed-in
key(s). This worked fine for the specific data format created by the `csv`
resource but did not work `json` or any other resource that subclassed the
`JsonConfig` resource.

This change fixes the logic when dealing with an array when it's encountered,
and fixes up the `csv` resource with its own `value` method.

This change also adds tests for ObjectTraverser.

Signed-off-by: Adam Leff <adam@leff.co>
2017-03-15 11:35:55 +01:00

660 B

1nameversionlicensetitledescription
2addressable2.3.6Apache 2.0URI ImplementationAddressable is a replacement for the URI implementation that is part of Ruby's standard library. It more closely conforms to the relevant RFCs and adds support for IRIs and URI templates.
3ast2.0.0MITA library for working with Abstract Syntax Trees.A library for working with Abstract Syntax Trees.
4astrolabe1.3.0MITAn object-oriented AST extension for ParserAn object-oriented AST extension for Parser
5berkshelf3.2.3Apache 2.0Manages a Cookbook's, or an Application's, Cookbook dependenciesManages a Cookbook's, or an Application's, Cookbook dependencies