xcpretty-security-patched 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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