xcpretty-security-patched 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.hound.yml +2 -0
  4. data/.kick +17 -0
  5. data/.rubocop.yml +239 -0
  6. data/.travis.yml +12 -0
  7. data/CHANGELOG.md +269 -0
  8. data/CONTRIBUTING.md +64 -0
  9. data/Gemfile +9 -0
  10. data/LICENSE.txt +61 -0
  11. data/README.md +95 -0
  12. data/Rakefile +18 -0
  13. data/assets/report.html.erb +173 -0
  14. data/bin/xcpretty +90 -0
  15. data/features/assets/RACCommandSpec_enabled_signal_should_send_YES_while_executing_is_YES.png +0 -0
  16. data/features/assets/apple_raw.png +0 -0
  17. data/features/custom_formatter.feature +15 -0
  18. data/features/custom_reporter.feature +29 -0
  19. data/features/fixtures/xcodebuild.log +5963 -0
  20. data/features/html_report.feature +54 -0
  21. data/features/json_compilation_database_report.feature +33 -0
  22. data/features/junit_report.feature +49 -0
  23. data/features/knock_format.feature +11 -0
  24. data/features/simple_format.feature +238 -0
  25. data/features/steps/custom_reporter_steps.rb +16 -0
  26. data/features/steps/formatting_steps.rb +386 -0
  27. data/features/steps/html_steps.rb +32 -0
  28. data/features/steps/json_steps.rb +45 -0
  29. data/features/steps/junit_steps.rb +39 -0
  30. data/features/steps/report_steps.rb +27 -0
  31. data/features/steps/xcpretty_steps.rb +31 -0
  32. data/features/support/env.rb +123 -0
  33. data/features/tap_format.feature +31 -0
  34. data/features/test_format.feature +49 -0
  35. data/features/xcpretty.feature +14 -0
  36. data/lib/xcpretty/ansi.rb +72 -0
  37. data/lib/xcpretty/formatters/formatter.rb +200 -0
  38. data/lib/xcpretty/formatters/knock.rb +35 -0
  39. data/lib/xcpretty/formatters/rspec.rb +33 -0
  40. data/lib/xcpretty/formatters/simple.rb +200 -0
  41. data/lib/xcpretty/formatters/tap.rb +40 -0
  42. data/lib/xcpretty/parser.rb +596 -0
  43. data/lib/xcpretty/printer.rb +28 -0
  44. data/lib/xcpretty/reporters/html.rb +93 -0
  45. data/lib/xcpretty/reporters/json_compilation_database.rb +51 -0
  46. data/lib/xcpretty/reporters/junit.rb +102 -0
  47. data/lib/xcpretty/reporters/reporter.rb +62 -0
  48. data/lib/xcpretty/snippet.rb +38 -0
  49. data/lib/xcpretty/syntax.rb +58 -0
  50. data/lib/xcpretty/term.rb +14 -0
  51. data/lib/xcpretty/version.rb +4 -0
  52. data/lib/xcpretty.rb +38 -0
  53. data/spec/fixtures/NSStringTests.m +64 -0
  54. data/spec/fixtures/constants.rb +707 -0
  55. data/spec/fixtures/custom_formatter.rb +18 -0
  56. data/spec/fixtures/custom_reporter.rb +30 -0
  57. data/spec/fixtures/oneliner.m +1 -0
  58. data/spec/fixtures/raw_kiwi_compilation_fail.txt +24 -0
  59. data/spec/fixtures/raw_kiwi_fail.txt +1896 -0
  60. data/spec/fixtures/raw_specta_fail.txt +3110 -0
  61. data/spec/spec_helper.rb +7 -0
  62. data/spec/support/matchers/colors.rb +21 -0
  63. data/spec/xcpretty/ansi_spec.rb +47 -0
  64. data/spec/xcpretty/formatters/formatter_spec.rb +151 -0
  65. data/spec/xcpretty/formatters/rspec_spec.rb +56 -0
  66. data/spec/xcpretty/formatters/simple_spec.rb +178 -0
  67. data/spec/xcpretty/parser_spec.rb +636 -0
  68. data/spec/xcpretty/printer_spec.rb +55 -0
  69. data/spec/xcpretty/reporters/junit_spec.rb +20 -0
  70. data/spec/xcpretty/reporters/reporter_spec.rb +40 -0
  71. data/spec/xcpretty/snippet_spec.rb +46 -0
  72. data/spec/xcpretty/syntax_spec.rb +39 -0
  73. data/spec/xcpretty/term_spec.rb +26 -0
  74. data/xcpretty.gemspec +37 -0
  75. metadata +250 -0
@@ -0,0 +1,20 @@
1
+ require 'xcpretty'
2
+ require 'tempfile'
3
+
4
+ module XCPretty
5
+ describe JUnit do
6
+ before(:each) do
7
+ @reporter_file = Tempfile.new('junit')
8
+ @formatter = JUnit.new(path: @reporter_file.path)
9
+ end
10
+
11
+ it "has name attribute in root node" do
12
+ test_name = "ReactiveCocoaTests.xctest"
13
+ @formatter.format_test_run_started(test_name)
14
+ @formatter.finish
15
+ document = REXML::Document.new(@reporter_file)
16
+ document.root.attributes['name'].should == test_name
17
+ end
18
+ end
19
+ end
20
+
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+
3
+ require 'xcpretty'
4
+ require 'fixtures/constants'
5
+
6
+ module XCPretty
7
+
8
+ describe Reporter do
9
+
10
+ before(:each) do
11
+ @reporter = Reporter.new(path: "example_file")
12
+ end
13
+
14
+ it "reports a passing test" do
15
+ @reporter.format_passing_test("RACCommandSpec", "_tupleByAddingObject__should_add_a_non_nil_object", "0.001")
16
+ @reporter.tests.should include("_tupleByAddingObject__should_add_a_non_nil_object PASSED")
17
+ end
18
+
19
+ it "reports a failing test" do
20
+ @reporter.format_failing_test("RACCommandSpec", "enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES", "expected: 1, got: 0", 'path/to/file')
21
+ @reporter.tests.should include("enabled_signal_should_send_YES_while_executing_is_YES_and_allowsConcurrentExecution_is_YES in path/to/file FAILED: expected: 1, got: 0")
22
+ end
23
+
24
+ it "reports a pending test" do
25
+ @reporter.format_pending_test("RACCommandSpec", "_tupleByAddingObject__should_add_a_non_nil_object")
26
+ @reporter.tests.should include("_tupleByAddingObject__should_add_a_non_nil_object IS PENDING")
27
+ end
28
+
29
+ it "writes to disk" do
30
+ @reporter.format_passing_test("RACCommandSpec", "_tupleByAddingObject__should_add_a_non_nil_object", "0.001")
31
+ file = double("file stub")
32
+ File.should_receive(:open).with("example_file", "w").and_yield(file)
33
+ file.should_receive(:write).with("_tupleByAddingObject__should_add_a_non_nil_object PASSED\nFINISHED RUNNING 1 TESTS WITH 0 FAILURES")
34
+ @reporter.write_report
35
+
36
+ end
37
+
38
+ end
39
+ end
40
+
@@ -0,0 +1,46 @@
1
+ require 'xcpretty/snippet'
2
+
3
+ module XCPretty
4
+
5
+ describe Snippet do
6
+
7
+ it "gets the snippet out of the file path" do
8
+ path = File.expand_path('spec/fixtures/NSStringTests.m:36')
9
+ Snippet.from_filepath(path).contents.should ==
10
+ <<-EOS
11
+ it(@"-split: splits with delimiter string, not just a char", ^{
12
+ [[[@"one / two / three" split:@" / "] should] equal:@[@"one", @"two", @"three"]];
13
+ });
14
+ EOS
15
+ end
16
+
17
+ it 'saves the file path' do
18
+ path = File.expand_path('spec/fixtures/NSStringTests.m:36')
19
+ Snippet.from_filepath(path).file_path.should == path
20
+ end
21
+
22
+ it "doesn't crash when there's nothing to read" do
23
+ path = File.expand_path('spec/fixtures/NSStringTests.m:64')
24
+ Snippet.from_filepath(path).contents.should == "\nSPEC_END\n"
25
+ end
26
+
27
+ it "doesn't crash if file path is invalid" do
28
+ path = 'invalid-path'
29
+ Snippet.from_filepath(path).contents.should == ''
30
+ end
31
+
32
+ it "doesn't crash if a failure is on the first line" do
33
+ path = File.expand_path('spec/fixtures/NSStringTests.m:0')
34
+ Snippet.from_filepath(path).contents.should ==
35
+ "//\n// NSStringTests.m\n// SampleProject\n"
36
+ end
37
+
38
+ it "doesn't crash if the file has only 1 line" do
39
+ path = File.expand_path('spec/fixtures/oneliner.m:0')
40
+ Snippet.from_filepath(path).contents.should ==
41
+ "[[[@1 should] equal] @3];\n"
42
+ end
43
+
44
+ end
45
+ end
46
+
@@ -0,0 +1,39 @@
1
+ require 'xcpretty/syntax'
2
+
3
+ module XCPretty
4
+ describe Syntax do
5
+ it 'syntax highlights given code' do
6
+ code = 'self.color = [UIColor redColor];'
7
+ snippet = Snippet.new(code, 'test.m')
8
+ output = Syntax.highlight(snippet)
9
+
10
+ stripped_output = output.gsub(/(?:(?:\u001b\[)|\u009b)(?:(?:[0-9]{1,3})?(?:;[0-9]{0,3})*?[A-M|f-m])|\u001b[A-M]/, '')
11
+ stripped_output.should == code
12
+ end
13
+
14
+ it 'uses Objective-C lexer for Objective-C' do
15
+ Syntax.find_lexer('test.m', '').should == Rouge::Lexers::ObjectiveC
16
+ Syntax.find_lexer('test.h', '').should == Rouge::Lexers::ObjectiveC
17
+ end
18
+
19
+ it 'uses Swift lexer for Swift' do
20
+ Syntax.find_lexer('test.swift', '').should == Rouge::Lexers::Swift
21
+ end
22
+
23
+ it 'uses Ruby lexer for Ruby' do
24
+ Syntax.find_lexer('test.rb', '').should == Rouge::Lexers::Ruby
25
+ Syntax.find_lexer('test.ruby', '').should == Rouge::Lexers::Ruby
26
+ end
27
+
28
+ it 'uses C++ lexer for C++' do
29
+ Syntax.find_lexer('test.cpp', '').should == Rouge::Lexers::Cpp
30
+ Syntax.find_lexer('test.cc', '').should == Rouge::Lexers::Cpp
31
+ Syntax.find_lexer('test.c++', '').should == Rouge::Lexers::Cpp
32
+ Syntax.find_lexer('test.cxx', '').should == Rouge::Lexers::Cpp
33
+ Syntax.find_lexer('test.hpp', '').should == Rouge::Lexers::Cpp
34
+ Syntax.find_lexer('test.h++', '').should == Rouge::Lexers::Cpp
35
+ Syntax.find_lexer('test.hxx', '').should == Rouge::Lexers::Cpp
36
+ end
37
+ end
38
+ end
39
+
@@ -0,0 +1,26 @@
1
+ require 'xcpretty/term'
2
+
3
+ module XCPretty
4
+ describe Term do
5
+ it "marks unicode as unavailable" do
6
+ Encoding.stub(:default_external).and_return(Encoding::ASCII)
7
+ Term.unicode?.should be false
8
+ end
9
+
10
+ it "marks unicode as available" do
11
+ Encoding.stub(:default_external).and_return(Encoding::UTF_8)
12
+ Term.unicode?.should be true
13
+ end
14
+
15
+ it 'marks color as unavailable' do
16
+ STDOUT.stub(:tty?).and_return(false)
17
+ Term.color?.should be false
18
+ end
19
+
20
+ it 'marks color as available' do
21
+ STDOUT.stub(:tty?).and_return(true)
22
+ Term.color?.should be true
23
+ end
24
+ end
25
+ end
26
+
data/xcpretty.gemspec ADDED
@@ -0,0 +1,37 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'xcpretty/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "xcpretty-security-patched"
8
+ spec.version = XCPretty::VERSION
9
+ spec.authors = ["Marin Usalj", "Delisa Mason", "Sha Senevirathne"]
10
+ spec.email = ["marin2211@gmail.com", "iskanamagus@gmail.com", "shanaka36@gmail.com"]
11
+ spec.required_ruby_version = '>= 2.0.0'
12
+ spec.description =
13
+ %q{
14
+ Xcodebuild formatter designed to be piped with `xcodebuild`,
15
+ and thus keeping 100% compatibility. Now with security fixes patched in.
16
+
17
+ It has modes for CI, running tests (RSpec dot-style),
18
+ and it can also mine Bitcoins.
19
+ }
20
+ spec.summary = %q(xcodebuild formatter done right)
21
+ spec.homepage = "https://github.com/hdsenevi/xcpretty-security-patched"
22
+ spec.license = "MIT"
23
+
24
+ spec.files = `git ls-files`.split($/)
25
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
26
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
27
+ spec.require_paths = ["lib"]
28
+
29
+ spec.add_dependency 'rouge', '~> 2.0.7'
30
+
31
+ spec.add_development_dependency "bundler", "~> 1.3"
32
+ spec.add_development_dependency "rake"
33
+ spec.add_development_dependency "rubocop", "~> 0.34.0"
34
+ spec.add_development_dependency "rspec", "2.99.0"
35
+ spec.add_development_dependency "cucumber", "~> 1.0"
36
+ end
37
+
metadata ADDED
@@ -0,0 +1,250 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xcpretty-security-patched
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Marin Usalj
8
+ - Delisa Mason
9
+ - Sha Senevirathne
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2023-10-26 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rouge
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.7
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: 2.0.7
29
+ - !ruby/object:Gem::Dependency
30
+ name: bundler
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '1.3'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.3'
43
+ - !ruby/object:Gem::Dependency
44
+ name: rake
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rubocop
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: 0.34.0
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: 0.34.0
71
+ - !ruby/object:Gem::Dependency
72
+ name: rspec
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - '='
76
+ - !ruby/object:Gem::Version
77
+ version: 2.99.0
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - '='
83
+ - !ruby/object:Gem::Version
84
+ version: 2.99.0
85
+ - !ruby/object:Gem::Dependency
86
+ name: cucumber
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '1.0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: '1.0'
99
+ description: "\n Xcodebuild formatter designed to be piped with `xcodebuild`,\n
100
+ \ and thus keeping 100% compatibility. Now with security fixes patched in.\n\n
101
+ \ It has modes for CI, running tests (RSpec dot-style),\n and it can also mine
102
+ Bitcoins.\n "
103
+ email:
104
+ - marin2211@gmail.com
105
+ - iskanamagus@gmail.com
106
+ - shanaka36@gmail.com
107
+ executables:
108
+ - xcpretty
109
+ extensions: []
110
+ extra_rdoc_files: []
111
+ files:
112
+ - ".gitignore"
113
+ - ".hound.yml"
114
+ - ".kick"
115
+ - ".rubocop.yml"
116
+ - ".travis.yml"
117
+ - CHANGELOG.md
118
+ - CONTRIBUTING.md
119
+ - Gemfile
120
+ - LICENSE.txt
121
+ - README.md
122
+ - Rakefile
123
+ - assets/report.html.erb
124
+ - bin/xcpretty
125
+ - features/assets/RACCommandSpec_enabled_signal_should_send_YES_while_executing_is_YES.png
126
+ - features/assets/apple_raw.png
127
+ - features/custom_formatter.feature
128
+ - features/custom_reporter.feature
129
+ - features/fixtures/xcodebuild.log
130
+ - features/html_report.feature
131
+ - features/json_compilation_database_report.feature
132
+ - features/junit_report.feature
133
+ - features/knock_format.feature
134
+ - features/simple_format.feature
135
+ - features/steps/custom_reporter_steps.rb
136
+ - features/steps/formatting_steps.rb
137
+ - features/steps/html_steps.rb
138
+ - features/steps/json_steps.rb
139
+ - features/steps/junit_steps.rb
140
+ - features/steps/report_steps.rb
141
+ - features/steps/xcpretty_steps.rb
142
+ - features/support/env.rb
143
+ - features/tap_format.feature
144
+ - features/test_format.feature
145
+ - features/xcpretty.feature
146
+ - lib/xcpretty.rb
147
+ - lib/xcpretty/ansi.rb
148
+ - lib/xcpretty/formatters/formatter.rb
149
+ - lib/xcpretty/formatters/knock.rb
150
+ - lib/xcpretty/formatters/rspec.rb
151
+ - lib/xcpretty/formatters/simple.rb
152
+ - lib/xcpretty/formatters/tap.rb
153
+ - lib/xcpretty/parser.rb
154
+ - lib/xcpretty/printer.rb
155
+ - lib/xcpretty/reporters/html.rb
156
+ - lib/xcpretty/reporters/json_compilation_database.rb
157
+ - lib/xcpretty/reporters/junit.rb
158
+ - lib/xcpretty/reporters/reporter.rb
159
+ - lib/xcpretty/snippet.rb
160
+ - lib/xcpretty/syntax.rb
161
+ - lib/xcpretty/term.rb
162
+ - lib/xcpretty/version.rb
163
+ - spec/fixtures/NSStringTests.m
164
+ - spec/fixtures/constants.rb
165
+ - spec/fixtures/custom_formatter.rb
166
+ - spec/fixtures/custom_reporter.rb
167
+ - spec/fixtures/oneliner.m
168
+ - spec/fixtures/raw_kiwi_compilation_fail.txt
169
+ - spec/fixtures/raw_kiwi_fail.txt
170
+ - spec/fixtures/raw_specta_fail.txt
171
+ - spec/spec_helper.rb
172
+ - spec/support/matchers/colors.rb
173
+ - spec/xcpretty/ansi_spec.rb
174
+ - spec/xcpretty/formatters/formatter_spec.rb
175
+ - spec/xcpretty/formatters/rspec_spec.rb
176
+ - spec/xcpretty/formatters/simple_spec.rb
177
+ - spec/xcpretty/parser_spec.rb
178
+ - spec/xcpretty/printer_spec.rb
179
+ - spec/xcpretty/reporters/junit_spec.rb
180
+ - spec/xcpretty/reporters/reporter_spec.rb
181
+ - spec/xcpretty/snippet_spec.rb
182
+ - spec/xcpretty/syntax_spec.rb
183
+ - spec/xcpretty/term_spec.rb
184
+ - xcpretty.gemspec
185
+ homepage: https://github.com/hdsenevi/xcpretty-security-patched
186
+ licenses:
187
+ - MIT
188
+ metadata: {}
189
+ post_install_message:
190
+ rdoc_options: []
191
+ require_paths:
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: 2.0.0
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ requirements: []
204
+ rubygems_version: 3.1.6
205
+ signing_key:
206
+ specification_version: 4
207
+ summary: xcodebuild formatter done right
208
+ test_files:
209
+ - features/assets/RACCommandSpec_enabled_signal_should_send_YES_while_executing_is_YES.png
210
+ - features/assets/apple_raw.png
211
+ - features/custom_formatter.feature
212
+ - features/custom_reporter.feature
213
+ - features/fixtures/xcodebuild.log
214
+ - features/html_report.feature
215
+ - features/json_compilation_database_report.feature
216
+ - features/junit_report.feature
217
+ - features/knock_format.feature
218
+ - features/simple_format.feature
219
+ - features/steps/custom_reporter_steps.rb
220
+ - features/steps/formatting_steps.rb
221
+ - features/steps/html_steps.rb
222
+ - features/steps/json_steps.rb
223
+ - features/steps/junit_steps.rb
224
+ - features/steps/report_steps.rb
225
+ - features/steps/xcpretty_steps.rb
226
+ - features/support/env.rb
227
+ - features/tap_format.feature
228
+ - features/test_format.feature
229
+ - features/xcpretty.feature
230
+ - spec/fixtures/NSStringTests.m
231
+ - spec/fixtures/constants.rb
232
+ - spec/fixtures/custom_formatter.rb
233
+ - spec/fixtures/custom_reporter.rb
234
+ - spec/fixtures/oneliner.m
235
+ - spec/fixtures/raw_kiwi_compilation_fail.txt
236
+ - spec/fixtures/raw_kiwi_fail.txt
237
+ - spec/fixtures/raw_specta_fail.txt
238
+ - spec/spec_helper.rb
239
+ - spec/support/matchers/colors.rb
240
+ - spec/xcpretty/ansi_spec.rb
241
+ - spec/xcpretty/formatters/formatter_spec.rb
242
+ - spec/xcpretty/formatters/rspec_spec.rb
243
+ - spec/xcpretty/formatters/simple_spec.rb
244
+ - spec/xcpretty/parser_spec.rb
245
+ - spec/xcpretty/printer_spec.rb
246
+ - spec/xcpretty/reporters/junit_spec.rb
247
+ - spec/xcpretty/reporters/reporter_spec.rb
248
+ - spec/xcpretty/snippet_spec.rb
249
+ - spec/xcpretty/syntax_spec.rb
250
+ - spec/xcpretty/term_spec.rb