spec/lib/formats/csv_spec.rb in hieracles-0.1.6 vs spec/lib/formats/csv_spec.rb in hieracles-0.1.7
- old
+ new
@@ -48,27 +48,51 @@
expect(csv_format.send :build_head, true).to eq expected
end
end
describe ".build_params_line" do
- let(:expected) {
- "0;1;params.this.var;value2;0\n"+
- "1;0;params.this.var;value1;1\n"
- }
- let(:params) {
- [
- { file: 'path1', value: 'value1'},
- { file: 'path2', value: 'value2'},
- ]
- }
- before {
- allow(node).to receive(:files).and_return(['path1', 'path2'])
- }
- it "outputs proper text" do
- expect(csv_format.send :build_params_line,
- "params.this.var",
- params,
- nil).to eq expected
+ context "with array values" do
+ let(:expected) {
+ "0;0;params.this.var;[\"value1\", \"value2\"];0\n"+
+ "0;1;params.this.var;[\"value2\"];1\n"+
+ "1;0;params.this.var;[\"value1\"];1\n"
+ }
+ let(:params) {
+ [
+ { file: 'path1', value: ['value1'], merged: ['value1'] },
+ { file: 'path2', value: ['value2'], merged: ['value1','value2'] },
+ ]
+ }
+ before {
+ allow(node).to receive(:files).and_return(['path1', 'path2'])
+ }
+ it "outputs proper text" do
+ expect(csv_format.send :build_params_line,
+ "params.this.var",
+ params,
+ nil).to eq expected
+ end
+ end
+ context "with non-array values" do
+ let(:expected) {
+ "0;1;params.this.var;value2;0\n"+
+ "1;0;params.this.var;value1;1\n"
+ }
+ let(:params) {
+ [
+ { file: 'path1', value: 'value1', merged: 'value1' },
+ { file: 'path2', value: 'value2', merged: 'value2' },
+ ]
+ }
+ before {
+ allow(node).to receive(:files).and_return(['path1', 'path2'])
+ }
+ it "outputs proper text" do
+ expect(csv_format.send :build_params_line,
+ "params.this.var",
+ params,
+ nil).to eq expected
+ end
end
end
describe ".build_modules_line" do
before {