spec/xcpretty/formatters/formatter_spec.rb in xcpretty-0.1.12 vs spec/xcpretty/formatters/formatter_spec.rb in xcpretty-0.2.0

- old
+ new

@@ -23,30 +23,38 @@ @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 file missing errors" do + @formatter.format_file_missing_error("error: no such file or directory:", + "/path/to/file.swift").should == + "\n#{@formatter.red( + '❌ error: no such file or directory:' + )} /path/to/file.swift\n\n" + 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, + @formatter.format_compile_warning("file", "path/to/file", reason, %Q( NSLog(@"alsdkflsakdj %@", 1);), %Q( ~~ ^)).should == %Q( #{@formatter.yellow('⚠️ ')}path/to/file: #{@formatter.yellow(reason)} @@ -55,51 +63,55 @@ #{@formatter.cyan(" ~~ ^")} ) end + it "formats linker warnings" do + @formatter.format_ld_warning("ld: embedded dylibs/frameworks only run on iOS 8 or later").should == + "#{@formatter.yellow("⚠️ ld: embedded dylibs/frameworks only run on iOS 8 or later")}" + 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 + it "formats failures per suite" do 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 = { 'CarSpec' => [ { - :file_path => first_path, - :reason => "just doesn't work", - :test_case => 'Starting the car' + file_path: first_path, + reason: "just doesn't work", + test_case: 'Starting the car' }], 'StringSpec' => [ { - :file_path => second_path, - :reason => "doesn't split", - :test_case => 'Splitting the string' + file_path: second_path, + reason: "doesn't split", + test_case: 'Splitting the string' }] } @formatter.format_test_summary(SAMPLE_EXECUTED_TESTS, failures).should == %Q( CarSpec @@ -120,10 +132,9 @@ }); ``` #{@formatter.red(SAMPLE_EXECUTED_TESTS)}) - end - end # only ruby 1.9 above because of ordered hashes - + end end end +