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
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 467646d02abd6fbb3d114f81595cde0ab9869bd4aee496b08ed17afd79b5ccf9
4
+ data.tar.gz: f512ce4dbf5e3eac04fc0e02a196900f36aafbf2ab542b2d4f2675a63d673390
5
+ SHA512:
6
+ metadata.gz: 85daaefff751268e4c39d0a937be61b4f0a3c633c1445a0fd89ea66b783898fd37290e6a7cfd8f85d005c5ddc73d78980da9d8a134a93e39b31bbd1eb3ffc509
7
+ data.tar.gz: f995785c40d16b561bb4e22d7886ea1c2df4971c39224a00e2176ef073c6ba4c47cc96ca66631e5659bd7428f60e0aac5003664774cceb20a9c0dc0b3576bc14
data/.gitignore ADDED
@@ -0,0 +1,19 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .vendor
5
+ .config
6
+ .yardoc
7
+ .rspec
8
+ Gemfile.lock
9
+ InstalledFiles
10
+ _yardoc
11
+ coverage
12
+ doc/
13
+ lib/bundler/man
14
+ pkg
15
+ rdoc
16
+ spec/reports
17
+ test/tmp
18
+ test/version_tmp
19
+ tmp
data/.hound.yml ADDED
@@ -0,0 +1,2 @@
1
+ ruby:
2
+ config_file: .rubocop.yml
data/.kick ADDED
@@ -0,0 +1,17 @@
1
+ recipe :ruby
2
+ recipe :ignore
3
+
4
+ ignore(%r{^(spec/fixtures)})
5
+
6
+ process do |files|
7
+ cuke_files = files.take_and_map do |path|
8
+ if path =~ %r{^features/\w+\.feature$}
9
+ path
10
+ elsif path =~ %r{^bin}
11
+ # run all features when bin/xcpretty changes
12
+ Dir.glob("features/**/*.feature")
13
+ end
14
+ end
15
+
16
+ execute "cucumber -f progress #{cuke_files.join(' ')}"
17
+ end
data/.rubocop.yml ADDED
@@ -0,0 +1,239 @@
1
+ Lint/AssignmentInCondition:
2
+ Exclude:
3
+ - 'bin/xcpretty'
4
+
5
+ Lint/DefEndAlignment:
6
+ Enabled: true
7
+ Exclude:
8
+ - 'lib/xcpretty/formatters/formatter.rb'
9
+
10
+ Lint/EndAlignment:
11
+ Enabled: true
12
+
13
+ Lint/Eval:
14
+ Exclude:
15
+ - 'lib/xcpretty.rb'
16
+
17
+ Lint/FormatParameterMismatch:
18
+ Exclude:
19
+ - 'lib/xcpretty/formatters/simple.rb'
20
+
21
+ Lint/UnusedBlockArgument:
22
+ Enabled: false
23
+
24
+ Lint/UnusedMethodArgument:
25
+ Enabled: false
26
+
27
+ Lint/UselessAccessModifier:
28
+ Enabled: true
29
+
30
+ Lint/Void:
31
+ Enabled: false
32
+
33
+ Metrics/AbcSize:
34
+ Enabled: false
35
+
36
+ Metrics/ClassLength:
37
+ Enabled: false
38
+
39
+ Metrics/CyclomaticComplexity:
40
+ Enabled: false
41
+
42
+ Metrics/LineLength:
43
+ Max: 80
44
+ Exclude:
45
+ - 'bin/xcpretty'
46
+ - 'spec/**/*.rb'
47
+ - 'features/**/*.rb'
48
+ - 'lib/xcpretty/parser.rb'
49
+
50
+ Metrics/MethodLength:
51
+ Enabled: false
52
+
53
+ Metrics/ModuleLength:
54
+ Enabled: false
55
+
56
+ Metrics/PerceivedComplexity:
57
+ Enabled: false
58
+
59
+ Performance/Count:
60
+ Enabled: true
61
+
62
+ Performance/Size:
63
+ Enabled: true
64
+
65
+ Performance/StringReplacement:
66
+ Enabled: true
67
+
68
+ Style/AlignHash:
69
+ Enabled: true
70
+ Exclude:
71
+ - 'spec/**/*.rb'
72
+
73
+ Style/AlignParameters:
74
+ Enabled: true
75
+ Exclude:
76
+ - 'spec/**/*.rb'
77
+
78
+ Style/BarePercentLiterals:
79
+ Enabled: false
80
+
81
+ Style/BlockDelimiters:
82
+ Enabled: false
83
+
84
+ Style/BracesAroundHashParameters:
85
+ Enabled: true
86
+
87
+ # Configuration parameters: IndentWhenRelativeTo, SupportedStyles, IndentOneStep.
88
+ Style/CaseIndentation:
89
+ Enabled: true
90
+
91
+ Style/ClassVars:
92
+ Enabled: false
93
+
94
+ Style/ClosingParenthesisIndentation:
95
+ Enabled: false
96
+
97
+ # Offense count: 1
98
+ # Cop supports --auto-correct.
99
+ # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerBackticks.
100
+ Style/CommandLiteral:
101
+ Exclude:
102
+ - 'features/support/*.rb'
103
+
104
+ Style/CommentIndentation:
105
+ Enabled: true
106
+
107
+ Style/Documentation:
108
+ Enabled: false
109
+
110
+ Style/DoubleNegation:
111
+ Exclude:
112
+ - 'lib/xcpretty/ansi.rb'
113
+ - 'lib/xcpretty/formatters/formatter.rb'
114
+
115
+ Style/EmptyLineBetweenDefs:
116
+ Exclude:
117
+ - 'lib/xcpretty/formatters/formatter.rb'
118
+
119
+ Style/EmptyLines:
120
+ Enabled: false
121
+
122
+ Style/EmptyLinesAroundBlockBody:
123
+ Exclude:
124
+ - 'spec/**/*.rb'
125
+
126
+ Style/EmptyLinesAroundClassBody:
127
+ Enabled: false
128
+
129
+ Style/EmptyLinesAroundModuleBody:
130
+ Enabled: false
131
+
132
+ Style/ExtraSpacing:
133
+ Enabled: true
134
+ Exclude:
135
+ - 'lib/xcpretty/formatters/formatter.rb'
136
+
137
+ Style/FirstParameterIndentation:
138
+ Enabled: true
139
+
140
+ Style/GuardClause:
141
+ Enabled: false
142
+
143
+ Style/HashSyntax:
144
+ EnforcedStyle: ruby19
145
+
146
+ Style/IfUnlessModifier:
147
+ Enabled: false
148
+
149
+ Style/IndentationWidth:
150
+ Exclude:
151
+ - 'spec/**/*.rb'
152
+
153
+ Style/LeadingCommentSpace:
154
+ Enabled: true
155
+
156
+ Style/LineEndConcatenation:
157
+ Enabled: true
158
+
159
+ Style/MethodDefParentheses:
160
+ Enabled: true
161
+
162
+ Style/MultilineOperationIndentation:
163
+ Enabled: false
164
+
165
+ Style/NonNilCheck:
166
+ Enabled: false
167
+
168
+ Style/PercentLiteralDelimiters:
169
+ Enabled: true
170
+
171
+ Style/PercentQLiterals:
172
+ Enabled: false
173
+
174
+ Style/PerlBackrefs:
175
+ Enabled: false
176
+
177
+ Style/RedundantBegin:
178
+ Enabled: true
179
+
180
+ Style/RegexpLiteral:
181
+ Enabled: false
182
+
183
+ Style/Semicolon:
184
+ Exclude:
185
+ - 'bin/xcpretty'
186
+
187
+ Style/SignalException:
188
+ Enabled: false
189
+
190
+ Style/SingleLineMethods:
191
+ Exclude:
192
+ - 'lib/xcpretty/formatters/formatter.rb'
193
+
194
+ Style/SpaceAfterComma:
195
+ Enabled: true
196
+
197
+ Style/SpaceAroundEqualsInParameterDefault:
198
+ Enabled: false
199
+
200
+ Style/SpaceAroundOperators:
201
+ Enabled: true
202
+
203
+ Style/SpaceInsideBlockBraces:
204
+ Enabled: true
205
+ EnforcedStyle: space
206
+
207
+ Style/SpaceInsideHashLiteralBraces:
208
+ Enabled: true
209
+ EnforcedStyle: no_space
210
+
211
+ Style/SpaceInsideParens:
212
+ Enabled: true
213
+
214
+ Style/SpecialGlobalVars:
215
+ Enabled: false
216
+
217
+ Style/StringLiterals:
218
+ Enabled: false
219
+
220
+ Style/StringLiteralsInInterpolation:
221
+ Enabled: false
222
+
223
+ Style/SymbolProc:
224
+ Enabled: false
225
+
226
+ Style/TrailingBlankLines:
227
+ Enabled: true
228
+ EnforcedStyle: final_blank_line
229
+
230
+ Style/TrailingComma:
231
+ Enabled: true
232
+
233
+ Style/TrailingWhitespace:
234
+ Enabled: true
235
+
236
+ Style/UnneededPercentQ:
237
+ Exclude:
238
+ - 'spec/**/*.rb'
239
+ - 'xcpretty.gemspec'
data/.travis.yml ADDED
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ sudo: false
3
+
4
+ rvm:
5
+ - 2.1.1
6
+ - 2.0.0
7
+
8
+ script:
9
+ - rake spec
10
+ - rake cucumber
11
+ - rake lint
12
+
data/CHANGELOG.md ADDED
@@ -0,0 +1,269 @@
1
+ # Changelog
2
+
3
+ ## 0.3.0
4
+
5
+ ###### Enhancements
6
+
7
+ * Add catch-all formatter to allow formatting unrecognized text
8
+ | [Chris Ballinger](https://github.com/chrisballinger)
9
+ | [#327](https://github.com/supermarin/xcpretty/pull/327)
10
+
11
+ * Support `ccache-clang` (and other commands) in formatted output and JSON
12
+ compilation database reports
13
+ | [Delisa Mason](https://github.com/kattrali)
14
+ | [#332](https://github.com/supermarin/xcpretty/pull/332)
15
+
16
+
17
+ ## 0.2.6
18
+
19
+ * Codesigning matchers improvements
20
+ * Screenshots parsing fixes
21
+
22
+ ###### Bug fixes
23
+
24
+ * Fix reporers crash by default ld warning implementation
25
+ | [iKiKi](https://github.com/iKiKi)
26
+ | [#187](https://github.com/supermarin/xcpretty/pull/187)
27
+
28
+ ## 0.2.1
29
+
30
+ ###### Bug fixes
31
+
32
+ * Fix reporers crash by default ld warning implementation
33
+ | [iKiKi](https://github.com/iKiKi)
34
+ | [#187](https://github.com/supermarin/xcpretty/pull/187)
35
+
36
+
37
+ ## 0.2.0
38
+
39
+ ###### Enhancements
40
+
41
+ * Format `ld` warnings as warnings instead of errors
42
+ | [Cédric Luthi](https://github.com/0xced)
43
+ | [#160](https://github.com/supermarin/xcpretty/pull/160)
44
+
45
+ * Use `rouge` instead of `pygments` for syntax highlighting
46
+ | [Kyle Fuller](https://github.com/kylef)
47
+ | [#141](https://github.com/supermarin/xcpretty/pull/141)
48
+
49
+ * Output phase success messages in simple formatter
50
+ | [Delisa Mason](https://github.com/kattrali)
51
+ | [#167](https://github.com/supermarin/xcpretty/pull/167)
52
+
53
+ * Automatically detect terminal color, and make `-c --color` flag redundant
54
+ | [Delisa Mason](https://github.com/kattrali)
55
+ | [#136](https://github.com/supermarin/xcpretty/pull/136)
56
+ <br>You can still use `--no-color` or force `--color`.
57
+
58
+ * Show check dependencies phase
59
+ | [Vladimir Burdukov](https://github.com/chipp)
60
+ | [#176](https://github.com/supermarin/xcpretty/pull/176)
61
+
62
+
63
+ * Show compile storyboard outputs
64
+ * Show compilation errors for missing files
65
+
66
+ ###### Misc
67
+
68
+ * Use the CROSS MARK (U+274C) symbol for errors
69
+ | [Cédric Luthi](https://github.com/0xced)
70
+ | [#159](https://github.com/supermarin/xcpretty/pull/159)
71
+
72
+ ## 0.1.12
73
+
74
+ ###### Bug fixes
75
+
76
+ * Fixed COMPILE_MATCHER to match all languages
77
+ | [Paul Cantrell](https://github.com/pcantrell)
78
+ | [#158](https://github.com/supermarin/xcpretty/pull/158)
79
+
80
+
81
+ ## 0.1.11
82
+
83
+ ###### Enhancements
84
+
85
+ * Added support for Analyzing target output
86
+ | [Cédric Luthi](https://github.com/0xced)
87
+ | [#146](https://github.com/supermarin/xcpretty/pull/146)
88
+
89
+ * Improved logging of `ld` error messages
90
+ | [Felix Krause](https://github.com/KrauseFx)
91
+ | [#153](https://github.com/supermarin/xcpretty/pull/153)
92
+
93
+ ## 0.1.10
94
+
95
+ ###### Enhancements
96
+
97
+ * Fixed buffering issues. Output looks realtime now
98
+ | [mtauraso](https://github.com/mtauraso)
99
+ | [#123](https://github.com/supermarin/xcpretty/pull/123)
100
+
101
+
102
+ ## 0.1.8
103
+
104
+ ###### Enhancements
105
+
106
+ * Added support for build warnings (even multiline with snippets)
107
+ | [#131](https://github.com/supermarin/xcpretty/pull/131)
108
+ * Support for measuring test runtimes
109
+ | [Norio Nomura](https://github.com/norio-nomura)
110
+ | [#124](https://github.com/supermarin/xcpretty/pull/124)
111
+ * Support for `write file` and `Write auxiliary files`
112
+ | [Piet Brauer](https://github.com/pietbrauer)
113
+ | [#128](https://github.com/supermarin/xcpretty/pull/128)
114
+ * Support for `oclint v0.9dev` json-compilation-database
115
+ | [iKiKi](https://github.com/iKiKi)
116
+ | [#121](https://github.com/supermarin/xcpretty/pull/121)
117
+ * Syntax highlighting for other languages than Objc (Swift, C++, Objc++, Dylan, Ruby)
118
+ | [#110](https://github.com/supermarin/xcpretty/pull/110)
119
+
120
+
121
+ ## 0.1.5
122
+
123
+ ###### Enhancements
124
+
125
+ * Json-compilation-databse report!
126
+ | [Boris Bügling](https://github.com/neonichu)
127
+ | [#77](https://github.com/supermarin/xcpretty/pull/77)
128
+ * Parsing duplicate symbols
129
+ | [#78](https://github.com/supermarin/xcpretty/pull/78)
130
+ * Improved performance (nobody cares)
131
+
132
+ ###### Bug Fixes
133
+
134
+ * Fix closing files when used from another proccess
135
+ | [Jonas Witt](https://github.com/jonaswitt)
136
+ | [#75](http://github.com/supermarin/xcpretty/pull/75)
137
+
138
+
139
+ ## 0.1.4
140
+
141
+ ###### Enhancements
142
+
143
+ * New logo
144
+ * New output format: tap
145
+ * New output format: knock
146
+ * Updated parser to support Specta 0.2.1
147
+ | [Josh Vickery](https://github.com/vickeryj)
148
+ | [#64](https://github.com/supermarin/xcpretty/pull/64)
149
+ * Support additional file extensions
150
+ | [Boris Bügling](https://github.com/neonichu)
151
+ | [#59](https://github.com/supermarin/xcpretty/pull/59)
152
+
153
+
154
+ ## 0.1.3
155
+
156
+ ###### Enhancements
157
+
158
+ * Indented test runs by suite
159
+ * Added HTML reporter
160
+
161
+ ###### Misc
162
+
163
+ * removed the faux exit statuts hangling. use `exit ${PIPESTATUS[0]}`
164
+
165
+
166
+ ## 0.1.2
167
+
168
+ ###### Enhancements
169
+
170
+ * More consistent error output (add some spacing before and after)
171
+ * Parsed clang errors
172
+ * Parsed ld: errors
173
+
174
+
175
+ ## 0.1.1
176
+
177
+ ###### Enhancements
178
+
179
+ * Parse more fatal errors, and CodeSign errors that were printed to STDOUT |
180
+ [#51](https://github.com/supermarin/xcpretty/issues/51)
181
+
182
+
183
+ ## 0.1.0
184
+
185
+ ###### Enhancements
186
+
187
+ * Color semi-slow tests in yellow, slow tests in red |
188
+ [#46](https://github.com/supermarin/xcpretty/pull/46)
189
+ * Add option to specify a custom location for report generation |
190
+ [#43](https://github.com/supermarin/xcpretty/pull/43)
191
+
192
+
193
+ ## 0.0.9
194
+
195
+ ###### Enhancements
196
+
197
+ * major performance fix, it's faster than `cat` by 2-3 times on big inputs.
198
+ Thanks [@kviksilver](https://github.com/kviksilver) for providing debug log and helping to reproduce
199
+
200
+
201
+ ## 0.0.8
202
+
203
+ ###### Bug Fixes
204
+
205
+ * show version if not piped |
206
+ [#39](https://github.com/supermarin/xcpretty/issues/39)
207
+
208
+ ###### Enhancements
209
+
210
+ * format linker failures (Undefined symbols for arch...)
211
+
212
+
213
+ ## 0.0.7
214
+
215
+ ###### Enhancements
216
+
217
+ * exit(1) if xcodebuild failure detected
218
+ * Print compile errors nicely. Currently we support compiler erorrs,
219
+ and Pods-not-installed errors. Missing mach-o-linker failures
220
+ * Added support for loading arbitrary custom printers (experimental) |
221
+ [Eloy Durán](https://github.com/alloy) |
222
+ [#29](https://github.com/supermarin/xcpretty/pulls/29)
223
+ * Show help banner in case no data is piped in |
224
+ [Eloy Durán](https://github.com/alloy) |
225
+ [#29](https://github.com/supermarin/xcpretty/pulls/29)
226
+
227
+
228
+ ## 0.0.6
229
+
230
+ ###### Enhancements
231
+
232
+ * Added support for reporters
233
+ * Added JUnit reporter
234
+
235
+
236
+ ## 0.0.5
237
+
238
+ ###### Bug Fixes
239
+
240
+ * `--no-utf` was set incorrectly. now it works as expected.
241
+
242
+
243
+ ## 0.0.4
244
+
245
+ ###### Enhancements
246
+
247
+ * Prettier `--simple` output |
248
+ [Preview](https://travis-ci.org/allending/Kiwi/builds/15190533)
249
+ * Removed Paint dependency
250
+ * Better test failure formatting (added indentation, grouped by suite)
251
+ * Added example of running tests continuously
252
+ * Support for not using Unicode (`--no-utf`)
253
+
254
+ ###### Bug Fixes
255
+
256
+ * Fixed multi-suite summary output (when tests are run on many devices)
257
+
258
+
259
+ ## 0.0.3
260
+
261
+ * add Ruby 1.8 support
262
+
263
+ ## 0.0.2
264
+
265
+ * add Ruby 1.9 support
266
+
267
+ ## 0.0.1
268
+
269
+ * initial version
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,64 @@
1
+ ## Pull requests
2
+
3
+ XCPretty is tested with [Cucumber](http://cukes.info) and [RSpec](http://rspec.info).
4
+ If you're planning to contribute, please do write tests.
5
+
6
+ Here's an example workflow for a contribution:
7
+
8
+ #### 0. Fork the project and create a branch
9
+
10
+ - Make separate branches for unrelated changes, like `my-awesome-feature` or `fix-terrible-bug`
11
+
12
+ #### 1. Write a failing feature
13
+
14
+ - These are a full-stack end to end tests
15
+ - You can find features in `features/`. You'll need to write a `feature` and implement it's `steps`.
16
+ - Try to reuse as many matchers as possible
17
+ - This tests are slower because they're executing `xcpretty` command for each test
18
+
19
+ Here's an example feature for adding output without UTF8:
20
+
21
+ ``` gherkin
22
+ Scenario: Running tests without UTF-8 support
23
+ Given I have a passing test in my suite
24
+ And I pipe to xcpretty with "--no-utf"
25
+ Then I should see a non-utf prefixed output
26
+ ```
27
+
28
+ And the steps:
29
+
30
+ - `Given I have a passing test in my suite`
31
+
32
+ ``` ruby
33
+ Given(/^I have a passing test in my suite$/) do
34
+ add_run_input SAMPLE_OCUNIT_TEST
35
+ end
36
+ ```
37
+
38
+ - `And I pipe to xcpretty with "--no-utf"`
39
+
40
+ ``` ruby
41
+ When(/^I pipe to xcpretty with "(.*?)"$/) do |flags|
42
+ run_xcpretty(flags)
43
+ end
44
+ ```
45
+
46
+ - `Then I should see a non-utf prefixed output`
47
+
48
+ ``` ruby
49
+ Then(/^I should see a non-utf prefixed output$/) do
50
+ run_output.should start_with(".")
51
+ end
52
+ ```
53
+
54
+
55
+ #### 2. Write a failing BDD test
56
+
57
+ - These are unit tests, and they're very fast (below 200ms for the entire suite)
58
+ - You should be running them continuously with `kicker`, or your awesome Vim binding
59
+
60
+
61
+ #### 3. Implement your awesome contribution
62
+
63
+ - This should fix unit tests one-by-one, and finally your `feature` will be passing
64
+
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in xcpretty.gemspec
4
+ gemspec
5
+
6
+ group :test do
7
+ gem 'kicker'
8
+ end
9
+
data/LICENSE.txt ADDED
@@ -0,0 +1,61 @@
1
+ Copyright (c) 2013-2016 Marin Usalj
2
+
3
+ MIT License
4
+
5
+ ..,,,,,,,,,,,,. ......
6
+ .,,,,,,,,,,,,,,,,,,,,,,,,. ..,,,,,,,,,,
7
+ .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
8
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
9
+ .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;1111111
10
+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;i111111i,,,,,,,,11111111
11
+ ,,,,,,,,,,,.. .,,,,,,,,,,,,,,,,,,,.:11111111111iii11111111111
12
+ ,,,,,,,,:;i111111111111,,,,,,,,,,,,,,,:111. :1111111111111111111111
13
+ 11:,,,,,:111111111111111, i11,,,,,,,,,,,;111111 ;1111111111111111111
14
+ 1i,,,,i111111111111111: 11111;,,,,,,,,,11111111 11111111111111111
15
+ 11,:1111111111111111; .1111111,,,,,,,,,111111111. i11111111111111
16
+ 11111111111111111. i111111111,,,,,,,,11111111111. 11111111111
17
+ 111111111111111i .1111111111,,,,,,,,111111111111, .111111111
18
+ 11111111111111: 11111111111i,,,,,,,i11111111111.; 11111111
19
+ 1111111111111. :111111111111,,,,,,,:11111111111 ; 111111111
20
+ 111111111111 1111111111111,,,,,,,,11111111111 , ;1111111111
21
+ 11111111111 , :111111111111;,,,,,,,11111111111 ,11111111111
22
+ 1111111111 , i111111111111,,,,,,,1111111111; i111111111
23
+ 111111111 , 111111111111,,,,,,,1111111111. 11111111
24
+ 11111111111;.., 11111111111:,,,,,,i111111111 .111111
25
+ 111111111111i .11111111111,,,,,,;111111111 ;111111
26
+ 11111111111, .1111111111,,,,,,,111111111 1111111
27
+ 111111111i :111111111CCCCCCCt1111111: ,1111111
28
+ 11111111. ;1111111tCCCCCCCCt111111 11111111
29
+ 111111111. i111111CCCCCCCCCCt11111 11111111
30
+ 1111111111; 11111tCCCCCCCCCCCt111; i11111111
31
+ 111111111111 1111fCCCCCCCCCCCC111 111111111
32
+ 1111111111111 111LCCCCCCCCCCCCf11 ;111111111
33
+ 11111111111111: i1CCCCCCCCCCCCCCt. 1111111111
34
+ 111111111111111i ;CCCCCCCCCCCCCCL :1111111111
35
+ 11111111111111111 :CCCCCCCCCCCCC, 11111111111
36
+ 111111111111111111: .CCCCCCCCCCCC ,11111111111
37
+ 1111111111111111111i CCCCCCCCCC. 111111111111
38
+ 111111111111111111111 LCCCCCCCC :111111111111
39
+ 1111111111111111111111, 1CCCCCC. 1111111111111
40
+ 11111111111111111111111i ,CCCCL i1111111111111
41
+
42
+
43
+
44
+ Permission is hereby granted, free of charge, to any person obtaining
45
+ a copy of this software and associated documentation files (the
46
+ "Software"), to deal in the Software without restriction, including
47
+ without limitation the rights to use, copy, modify, merge, publish,
48
+ distribute, sublicense, and/or sell copies of the Software, and to
49
+ permit persons to whom the Software is furnished to do so, subject to
50
+ the following conditions:
51
+
52
+ The above copyright notice and this permission notice shall be
53
+ included in all copies or substantial portions of the Software.
54
+
55
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
56
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
57
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
58
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
59
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
60
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
61
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.