spec/xcpretty/formatters/formatter_spec.rb in xcpretty-0.1.7 vs spec/xcpretty/formatters/formatter_spec.rb in xcpretty-0.1.8

- old
+ new

@@ -10,63 +10,79 @@ before(:each) do @formatter = Formatter.new(true, true) end it "initializes with unicode" do - @formatter.use_unicode?.should be_true + @formatter.use_unicode?.should be_truthy end it "initializes with color" do - @formatter.colorize?.should be_true + @formatter.colorize?.should be_truthy end it "outputs to new lines by default" do @formatter.optional_newline.should == "\n" end it "formats cocoapods errors" do @formatter.format_error("The sandbox is not in sync...").should == - "\n#{@formatter.red("⌦ The sandbox is not in sync...")}\n\n" + "\n#{@formatter.red("⌦ The sandbox is not in sync...")}\n\n" end it "formats compiling errors" do @formatter.format_compile_error("file", "path/to/file", "expected valid syntax", "[a should", " ^").should == %Q( -#{@formatter.red('⌦ ')}path/to/file: #{@formatter.red("expected valid syntax")} +#{@formatter.red('⌦ ')}path/to/file: #{@formatter.red("expected valid syntax")} [a should #{@formatter.cyan(" ^")} ) end + it "formats compiling warnings" do + reason = "format specifies type 'id' but the argument has type 'int' [-Wformat]" + + @formatter.format_compile_warning( "file", "path/to/file", reason, +%Q( NSLog(@"alsdkflsakdj %@", 1);), +%Q( ~~ ^)).should == + +%Q( +#{@formatter.yellow('⚠️ ')}path/to/file: #{@formatter.yellow(reason)} + + NSLog(@"alsdkflsakdj %@", 1); +#{@formatter.cyan(" ~~ ^")} + +) + end + it "formats linker undefined symbols by default" do @formatter.format_undefined_symbols("Undefined symbols for architecture x86_64", '_OBJC_CLASS_$_CABasicAnimation', 'objc-class-ref in ATZRadialProgressControl.o').should == %Q( -#{@formatter.red("⌦ Undefined symbols for architecture x86_64")} +#{@formatter.red("⌦ Undefined symbols for architecture x86_64")} > Symbol: _OBJC_CLASS_$_CABasicAnimation > Referenced from: objc-class-ref in ATZRadialProgressControl.o ) end it "formats linker duplicate symbols by default" do @formatter.format_duplicate_symbols("duplicate symbol _OBJC_IVAR_$ClassName._ivarName in", ['/Users/username/Library/Developer/Xcode/DerivedData/App-arcyyktezaigixbocjwfhsjllojz/Build/Intermediates/App.build/Debug-iphonesimulator/App.build/Objects-normal/i386/ClassName.o', '/Users/username/Library/Developer/Xcode/DerivedData/App-arcyyktezaigixbocjwfhsjllojz/Build/Products/Debug-iphonesimulator/libPods.a(DuplicateClassName.o)']).should == %Q( -#{@formatter.red("⌦ duplicate symbol _OBJC_IVAR_$ClassName._ivarName in")} +#{@formatter.red("⌦ duplicate symbol _OBJC_IVAR_$ClassName._ivarName in")} > ClassName.o > libPods.a(DuplicateClassName.o) ) end if RUBY_VERSION > '1.8.7' it "formats failures per suite" do - Syntax.stub(:highlight) { |text| text } + Syntax.stub(:highlight) { |snippet| snippet.contents } first_path = File.expand_path('spec/fixtures/NSStringTests.m:46') second_path = File.expand_path('spec/fixtures/NSStringTests.m:57') failures = {