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
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.