spec/lib/formats/console_spec.rb in hieracles-0.1.7 vs spec/lib/formats/console_spec.rb in hieracles-0.2.0

- old
+ new

@@ -51,31 +51,57 @@ expect(console_format.send :build_head, true).to eq expected end end describe ".build_params_line" do - let(:expected) { - "\e[32m[1]\e[0m \e[36mparams.this.var\e[0m value2\n"+ - " \e[97m[0] params.this.var value1\e[0m\n" - } - let(:params) { - [ - { file: 'path1', value: 'value1', merged: 'value1'}, - { file: 'path2', value: 'value2', merged: 'value2'}, - ] - } - before { - console_format.instance_variable_set(:@colors, - {'path1' => 0, 'path2' => 1} - ) - } - it "outputs proper text" do - expect(console_format.send :build_params_line, - "params.this.var", - params, - nil).to eq expected + context "when not merged" do + let(:expected) { + "\e[32m[1]\e[0m \e[36mparams.this.var\e[0m value2\n"+ + " \e[97m[0] params.this.var value1\e[0m\n" + } + let(:params) { + [ + { file: 'path1', value: 'value1', merged: 'value1'}, + { file: 'path2', value: 'value2', merged: 'value2'}, + ] + } + before { + console_format.instance_variable_set(:@colors, + {'path1' => 0, 'path2' => 1} + ) + } + it "outputs proper text" do + expect(console_format.send :build_params_line, + "params.this.var", + params, + nil).to eq expected + end end + context "when merged" do + let(:expected) { + "[-] \e[36mparams.this.var\e[0m [\"value1\", \"value2\"]\n"+ + " \e[97m[1] params.this.var [\"value2\"]\e[0m\n"+ + " \e[97m[0] params.this.var [\"value1\"]\e[0m\n" + } + let(:params) { + [ + { file: 'path1', value: ['value1'], merged: ['value1'] }, + { file: 'path2', value: ['value2'], merged: ['value1','value2'] } + ] + } + before { + console_format.instance_variable_set(:@colors, + {'path1' => 0, 'path2' => 1} + ) + } + it "outputs proper text" do + expect(console_format.send :build_params_line, + "params.this.var", + params, + nil).to eq expected + end + end end describe ".build_modules_line" do before { allow(node).to receive(:modules).and_return( @@ -102,6 +128,13 @@ it "outputs proper text" do expect(console_format.send :build_modules_line, "module1", "(duplicate)").to eq expected end end end + + describe ".sanitize" do + let(:value) { "something with % inside" } + let(:expected) { "something with %% inside" } + it { expect(console_format.send :sanitize, value).to eq expected } + end + end