rspec-core 2.99.0.beta1 → 2.99.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/Changelog.md +40 -0
  2. data/features/command_line/line_number_option.feature +2 -2
  3. data/features/example_groups/basic_structure.feature +1 -1
  4. data/features/expectation_framework_integration/configure_expectation_framework.feature +1 -1
  5. data/features/subject/explicit_subject.feature +1 -1
  6. data/features/subject/one_liner_syntax.feature +71 -0
  7. data/lib/rspec/core/caller_filter.rb +50 -45
  8. data/lib/rspec/core/configuration.rb +59 -19
  9. data/lib/rspec/core/example.rb +1 -1
  10. data/lib/rspec/core/example_group.rb +20 -0
  11. data/lib/rspec/core/formatters/base_text_formatter.rb +3 -1
  12. data/lib/rspec/core/formatters/deprecation_formatter.rb +34 -16
  13. data/lib/rspec/core/memoized_helpers.rb +40 -6
  14. data/lib/rspec/core/option_parser.rb +1 -1
  15. data/lib/rspec/core/pending.rb +29 -1
  16. data/lib/rspec/core/reporter.rb +4 -1
  17. data/lib/rspec/core/version.rb +1 -1
  18. data/spec/rspec/core/configuration_options_spec.rb +3 -3
  19. data/spec/rspec/core/configuration_spec.rb +96 -4
  20. data/spec/rspec/core/example_group_spec.rb +36 -14
  21. data/spec/rspec/core/filter_manager_spec.rb +2 -2
  22. data/spec/rspec/core/formatters/base_text_formatter_spec.rb +1 -1
  23. data/spec/rspec/core/formatters/deprecation_formatter_spec.rb +46 -0
  24. data/spec/rspec/core/formatters/{html_formatted-1.8.7-jruby.html → html_formatted.html} +24 -30
  25. data/spec/rspec/core/formatters/html_formatter_spec.rb +30 -15
  26. data/spec/rspec/core/formatters/{html_formatted-1.9.3-jruby.html → text_mate_formatted.html} +24 -30
  27. data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +38 -33
  28. data/spec/rspec/core/memoized_helpers_spec.rb +11 -2
  29. data/spec/rspec/core/pending_example_spec.rb +26 -0
  30. data/spec/rspec/core/reporter_spec.rb +26 -0
  31. data/spec/rspec/core_spec.rb +1 -1
  32. data/spec/support/sandboxed_mock_space.rb +16 -0
  33. data/spec/support/silence_dsl_deprecations.rb +1 -1
  34. metadata +35 -40
  35. checksums.yaml +0 -15
  36. data/features/subject/implicit_receiver.feature +0 -29
  37. data/spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html +0 -477
  38. data/spec/rspec/core/formatters/html_formatted-1.8.7.html +0 -414
  39. data/spec/rspec/core/formatters/html_formatted-1.9.2.html +0 -425
  40. data/spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html +0 -477
  41. data/spec/rspec/core/formatters/html_formatted-1.9.3.html +0 -425
  42. data/spec/rspec/core/formatters/html_formatted-2.0.0.html +0 -425
  43. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +0 -395
  44. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-rbx.html +0 -477
  45. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +0 -414
  46. data/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +0 -425
  47. data/spec/rspec/core/formatters/text_mate_formatted-1.9.3-jruby.html +0 -404
  48. data/spec/rspec/core/formatters/text_mate_formatted-1.9.3-rbx.html +0 -477
  49. data/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +0 -425
  50. data/spec/rspec/core/formatters/text_mate_formatted-2.0.0.html +0 -425
@@ -343,7 +343,16 @@ module RSpec::Core
343
343
  it { should_not be_not_ok }
344
344
  end
345
345
 
346
- expect(group.run).to be_truthy
346
+ expect(group.run).to be true
347
+ end
348
+
349
+ it 'supports a new expect-based syntax' do
350
+ group = ExampleGroup.describe([1, 2, 3]) do
351
+ it { is_expected.to be_an Array }
352
+ it { is_expected.not_to include 4 }
353
+ end
354
+
355
+ expect(group.run).to be true
347
356
  end
348
357
  end
349
358
 
@@ -699,7 +708,7 @@ module RSpec::Core
699
708
  expect(subject_id_in_let).to eq(@subject_id_in_before)
700
709
  end
701
710
 
702
- it { should eq(subject) }
711
+ it { is_expected.to eq(subject) }
703
712
  end
704
713
 
705
714
  describe Object do
@@ -55,6 +55,19 @@ describe "an example" do
55
55
  example.run(group.new, double.as_null_object)
56
56
  expect(example).to be_pending_with(RSpec::Core::Pending::NO_REASON_GIVEN)
57
57
  end
58
+
59
+ it 'shows upgrade warning' do
60
+ expect_warn_deprecation_with_call_site(
61
+ "pending_example_spec.rb", __LINE__ + 4
62
+ )
63
+ group = RSpec::Core::ExampleGroup.describe('group') do
64
+ it "does something" do
65
+ pending
66
+ end
67
+ end
68
+ example = group.examples.first
69
+ example.run(group.new, double.as_null_object)
70
+ end
58
71
  end
59
72
 
60
73
  context "with no docstring" do
@@ -116,6 +129,19 @@ describe "an example" do
116
129
  example
117
130
  end
118
131
 
132
+ it 'shows upgrade warning' do
133
+ expect_warn_deprecation_with_call_site(
134
+ "pending_example_spec.rb", __LINE__ + 4
135
+ )
136
+ group = RSpec::Core::ExampleGroup.describe('group') do
137
+ it "does something" do
138
+ pending {}
139
+ end
140
+ end
141
+ example = group.examples.first
142
+ example.run(group.new, double.as_null_object)
143
+ end
144
+
119
145
  context "that fails" do
120
146
  def run_example(*pending_args)
121
147
  super(*pending_args) { raise ArgumentError.new }
@@ -7,6 +7,10 @@ module RSpec::Core
7
7
  let(:example) { double("example") }
8
8
  let(:reporter) { Reporter.new(formatter) }
9
9
 
10
+ before do
11
+ allow_deprecation
12
+ end
13
+
10
14
  %w[start_dump dump_pending dump_failures dump_summary close].each do |message|
11
15
  it "sends #{message} to the formatter(s) that respond to message" do
12
16
  formatter.should_receive(message)
@@ -16,6 +20,28 @@ module RSpec::Core
16
20
  it "doesnt notify formatters about messages they dont implement" do
17
21
  expect { reporter.abort(nil) }.to_not raise_error
18
22
  end
23
+
24
+ it 'warns of deprecation' do
25
+ expect_deprecation_with_call_site(__FILE__, __LINE__ + 1)
26
+ reporter.abort(nil)
27
+ end
28
+ end
29
+ end
30
+
31
+ describe "finish" do
32
+ let(:formatter) { double("formatter") }
33
+ let(:example) { double("example") }
34
+ let(:reporter) { Reporter.new(formatter) }
35
+
36
+ %w[start_dump dump_pending dump_failures dump_summary close].each do |message|
37
+ it "sends #{message} to the formatter(s) that respond to message" do
38
+ formatter.should_receive(message)
39
+ reporter.finish(nil)
40
+ end
41
+
42
+ it "doesnt notify formatters about messages they dont implement" do
43
+ expect { reporter.finish(nil) }.to_not raise_error
44
+ end
19
45
  end
20
46
  end
21
47
 
@@ -102,7 +102,7 @@ describe RSpec do
102
102
  specify 'the const_missing hook allows other undefined consts to raise errors as normal' do
103
103
  expect {
104
104
  ::RSpec::Core::SomeUndefinedConst
105
- }.to raise_error(NameError, /uninitialized constant RSpec::Core::SomeUndefinedConst/)
105
+ }.to raise_error(NameError, /RSpec::Core::SomeUndefinedConst/)
106
106
  end
107
107
  end
108
108
  end
@@ -1,6 +1,22 @@
1
1
  require 'rspec/mocks'
2
2
 
3
3
  module RSpec
4
+ module Mocks
5
+ Space.class_eval do
6
+ undef print_out_of_example_deprecation
7
+ def print_out_of_example_deprecation
8
+ # The simple "are you outside of an example" detection in rspec-mocks
9
+ # does not properly handle our dog fooding here in rspec core, where we define
10
+ # example groups and examples from within an example and run them.
11
+ # As a result, we get `SystemStackError` in a few specs that are mocking
12
+ # `RSpec.deprecate` and creating nested examples, but we don't care about
13
+ # this warning here in rspec-core.
14
+ #
15
+ # This redefintion silences it.
16
+ end
17
+ end
18
+ end
19
+
4
20
  module Core
5
21
  # Because rspec-core dog-foods itself, rspec-core's spec suite has
6
22
  # examples that define example groups and examples and run them. The
@@ -9,7 +9,7 @@ module SilenceDSLDeprecations
9
9
  end
10
10
 
11
11
  def respond_to?(*args)
12
- @repoter.respond_to?(*args) || super
12
+ @reporter.respond_to?(*args) || super
13
13
  end
14
14
 
15
15
  def method_missing(*args, &block)
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.99.0.beta1
4
+ version: 2.99.0.beta2
5
+ prerelease: 7
5
6
  platform: ruby
6
7
  authors:
7
8
  - Steven Baker
@@ -10,11 +11,12 @@ authors:
10
11
  autorequire:
11
12
  bindir: exe
12
13
  cert_chain: []
13
- date: 2013-11-07 00:00:00.000000000 Z
14
+ date: 2014-02-18 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: rake
17
18
  requirement: !ruby/object:Gem::Requirement
19
+ none: false
18
20
  requirements:
19
21
  - - ~>
20
22
  - !ruby/object:Gem::Version
@@ -22,6 +24,7 @@ dependencies:
22
24
  type: :development
23
25
  prerelease: false
24
26
  version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
25
28
  requirements:
26
29
  - - ~>
27
30
  - !ruby/object:Gem::Version
@@ -29,6 +32,7 @@ dependencies:
29
32
  - !ruby/object:Gem::Dependency
30
33
  name: cucumber
31
34
  requirement: !ruby/object:Gem::Requirement
35
+ none: false
32
36
  requirements:
33
37
  - - ~>
34
38
  - !ruby/object:Gem::Version
@@ -36,6 +40,7 @@ dependencies:
36
40
  type: :development
37
41
  prerelease: false
38
42
  version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
39
44
  requirements:
40
45
  - - ~>
41
46
  - !ruby/object:Gem::Version
@@ -43,6 +48,7 @@ dependencies:
43
48
  - !ruby/object:Gem::Dependency
44
49
  name: aruba
45
50
  requirement: !ruby/object:Gem::Requirement
51
+ none: false
46
52
  requirements:
47
53
  - - ~>
48
54
  - !ruby/object:Gem::Version
@@ -50,6 +56,7 @@ dependencies:
50
56
  type: :development
51
57
  prerelease: false
52
58
  version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
53
60
  requirements:
54
61
  - - ~>
55
62
  - !ruby/object:Gem::Version
@@ -57,6 +64,7 @@ dependencies:
57
64
  - !ruby/object:Gem::Dependency
58
65
  name: ZenTest
59
66
  requirement: !ruby/object:Gem::Requirement
67
+ none: false
60
68
  requirements:
61
69
  - - ~>
62
70
  - !ruby/object:Gem::Version
@@ -64,6 +72,7 @@ dependencies:
64
72
  type: :development
65
73
  prerelease: false
66
74
  version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
67
76
  requirements:
68
77
  - - ~>
69
78
  - !ruby/object:Gem::Version
@@ -71,6 +80,7 @@ dependencies:
71
80
  - !ruby/object:Gem::Dependency
72
81
  name: nokogiri
73
82
  requirement: !ruby/object:Gem::Requirement
83
+ none: false
74
84
  requirements:
75
85
  - - '='
76
86
  - !ruby/object:Gem::Version
@@ -78,6 +88,7 @@ dependencies:
78
88
  type: :development
79
89
  prerelease: false
80
90
  version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
81
92
  requirements:
82
93
  - - '='
83
94
  - !ruby/object:Gem::Version
@@ -85,6 +96,7 @@ dependencies:
85
96
  - !ruby/object:Gem::Dependency
86
97
  name: syntax
87
98
  requirement: !ruby/object:Gem::Requirement
99
+ none: false
88
100
  requirements:
89
101
  - - '='
90
102
  - !ruby/object:Gem::Version
@@ -92,6 +104,7 @@ dependencies:
92
104
  type: :development
93
105
  prerelease: false
94
106
  version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
95
108
  requirements:
96
109
  - - '='
97
110
  - !ruby/object:Gem::Version
@@ -99,6 +112,7 @@ dependencies:
99
112
  - !ruby/object:Gem::Dependency
100
113
  name: mocha
101
114
  requirement: !ruby/object:Gem::Requirement
115
+ none: false
102
116
  requirements:
103
117
  - - ~>
104
118
  - !ruby/object:Gem::Version
@@ -106,6 +120,7 @@ dependencies:
106
120
  type: :development
107
121
  prerelease: false
108
122
  version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
109
124
  requirements:
110
125
  - - ~>
111
126
  - !ruby/object:Gem::Version
@@ -113,6 +128,7 @@ dependencies:
113
128
  - !ruby/object:Gem::Dependency
114
129
  name: rr
115
130
  requirement: !ruby/object:Gem::Requirement
131
+ none: false
116
132
  requirements:
117
133
  - - ~>
118
134
  - !ruby/object:Gem::Version
@@ -120,6 +136,7 @@ dependencies:
120
136
  type: :development
121
137
  prerelease: false
122
138
  version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
123
140
  requirements:
124
141
  - - ~>
125
142
  - !ruby/object:Gem::Version
@@ -127,6 +144,7 @@ dependencies:
127
144
  - !ruby/object:Gem::Dependency
128
145
  name: flexmock
129
146
  requirement: !ruby/object:Gem::Requirement
147
+ none: false
130
148
  requirements:
131
149
  - - ~>
132
150
  - !ruby/object:Gem::Version
@@ -134,6 +152,7 @@ dependencies:
134
152
  type: :development
135
153
  prerelease: false
136
154
  version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
137
156
  requirements:
138
157
  - - ~>
139
158
  - !ruby/object:Gem::Version
@@ -267,8 +286,8 @@ files:
267
286
  - features/step_definitions/additional_cli_steps.rb
268
287
  - features/subject/attribute_of_subject.feature
269
288
  - features/subject/explicit_subject.feature
270
- - features/subject/implicit_receiver.feature
271
289
  - features/subject/implicit_subject.feature
290
+ - features/subject/one_liner_syntax.feature
272
291
  - features/support/env.rb
273
292
  - features/support/rubinius.rb
274
293
  - spec/autotest/discover_spec.rb
@@ -294,26 +313,12 @@ files:
294
313
  - spec/rspec/core/formatters/deprecation_formatter_spec.rb
295
314
  - spec/rspec/core/formatters/documentation_formatter_spec.rb
296
315
  - spec/rspec/core/formatters/helpers_spec.rb
297
- - spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html
298
- - spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html
299
- - spec/rspec/core/formatters/html_formatted-1.8.7.html
300
- - spec/rspec/core/formatters/html_formatted-1.9.2.html
301
- - spec/rspec/core/formatters/html_formatted-1.9.3-jruby.html
302
- - spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html
303
- - spec/rspec/core/formatters/html_formatted-1.9.3.html
304
- - spec/rspec/core/formatters/html_formatted-2.0.0.html
316
+ - spec/rspec/core/formatters/html_formatted.html
305
317
  - spec/rspec/core/formatters/html_formatter_spec.rb
306
318
  - spec/rspec/core/formatters/json_formatter_spec.rb
307
319
  - spec/rspec/core/formatters/progress_formatter_spec.rb
308
320
  - spec/rspec/core/formatters/snippet_extractor_spec.rb
309
- - spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html
310
- - spec/rspec/core/formatters/text_mate_formatted-1.8.7-rbx.html
311
- - spec/rspec/core/formatters/text_mate_formatted-1.8.7.html
312
- - spec/rspec/core/formatters/text_mate_formatted-1.9.2.html
313
- - spec/rspec/core/formatters/text_mate_formatted-1.9.3-jruby.html
314
- - spec/rspec/core/formatters/text_mate_formatted-1.9.3-rbx.html
315
- - spec/rspec/core/formatters/text_mate_formatted-1.9.3.html
316
- - spec/rspec/core/formatters/text_mate_formatted-2.0.0.html
321
+ - spec/rspec/core/formatters/text_mate_formatted.html
317
322
  - spec/rspec/core/formatters/text_mate_formatter_spec.rb
318
323
  - spec/rspec/core/hooks_filtering_spec.rb
319
324
  - spec/rspec/core/hooks_spec.rb
@@ -357,28 +362,32 @@ files:
357
362
  homepage: http://github.com/rspec/rspec-core
358
363
  licenses:
359
364
  - MIT
360
- metadata: {}
361
365
  post_install_message:
362
366
  rdoc_options:
363
367
  - --charset=UTF-8
364
368
  require_paths:
365
369
  - lib
366
370
  required_ruby_version: !ruby/object:Gem::Requirement
371
+ none: false
367
372
  requirements:
368
373
  - - ! '>='
369
374
  - !ruby/object:Gem::Version
370
375
  version: '0'
376
+ segments:
377
+ - 0
378
+ hash: -4204102296869812971
371
379
  required_rubygems_version: !ruby/object:Gem::Requirement
380
+ none: false
372
381
  requirements:
373
382
  - - ! '>'
374
383
  - !ruby/object:Gem::Version
375
384
  version: 1.3.1
376
385
  requirements: []
377
386
  rubyforge_project: rspec
378
- rubygems_version: 2.0.7
387
+ rubygems_version: 1.8.23
379
388
  signing_key:
380
- specification_version: 4
381
- summary: rspec-core-2.99.0.beta1
389
+ specification_version: 3
390
+ summary: rspec-core-2.99.0.beta2
382
391
  test_files:
383
392
  - features/Autotest.md
384
393
  - features/README.md
@@ -442,8 +451,8 @@ test_files:
442
451
  - features/step_definitions/additional_cli_steps.rb
443
452
  - features/subject/attribute_of_subject.feature
444
453
  - features/subject/explicit_subject.feature
445
- - features/subject/implicit_receiver.feature
446
454
  - features/subject/implicit_subject.feature
455
+ - features/subject/one_liner_syntax.feature
447
456
  - features/support/env.rb
448
457
  - features/support/rubinius.rb
449
458
  - spec/autotest/discover_spec.rb
@@ -469,26 +478,12 @@ test_files:
469
478
  - spec/rspec/core/formatters/deprecation_formatter_spec.rb
470
479
  - spec/rspec/core/formatters/documentation_formatter_spec.rb
471
480
  - spec/rspec/core/formatters/helpers_spec.rb
472
- - spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html
473
- - spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html
474
- - spec/rspec/core/formatters/html_formatted-1.8.7.html
475
- - spec/rspec/core/formatters/html_formatted-1.9.2.html
476
- - spec/rspec/core/formatters/html_formatted-1.9.3-jruby.html
477
- - spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html
478
- - spec/rspec/core/formatters/html_formatted-1.9.3.html
479
- - spec/rspec/core/formatters/html_formatted-2.0.0.html
481
+ - spec/rspec/core/formatters/html_formatted.html
480
482
  - spec/rspec/core/formatters/html_formatter_spec.rb
481
483
  - spec/rspec/core/formatters/json_formatter_spec.rb
482
484
  - spec/rspec/core/formatters/progress_formatter_spec.rb
483
485
  - spec/rspec/core/formatters/snippet_extractor_spec.rb
484
- - spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html
485
- - spec/rspec/core/formatters/text_mate_formatted-1.8.7-rbx.html
486
- - spec/rspec/core/formatters/text_mate_formatted-1.8.7.html
487
- - spec/rspec/core/formatters/text_mate_formatted-1.9.2.html
488
- - spec/rspec/core/formatters/text_mate_formatted-1.9.3-jruby.html
489
- - spec/rspec/core/formatters/text_mate_formatted-1.9.3-rbx.html
490
- - spec/rspec/core/formatters/text_mate_formatted-1.9.3.html
491
- - spec/rspec/core/formatters/text_mate_formatted-2.0.0.html
486
+ - spec/rspec/core/formatters/text_mate_formatted.html
492
487
  - spec/rspec/core/formatters/text_mate_formatter_spec.rb
493
488
  - spec/rspec/core/hooks_filtering_spec.rb
494
489
  - spec/rspec/core/hooks_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MTdkZDRlZWFhNzlmYjQ5NmE0MDkxYzVlMjhmOGVkM2I5ZTgwYzZhOQ==
5
- data.tar.gz: !binary |-
6
- YmRhMTUxODliMzRmOTczZmZkYjAyNjk3NGFkMmY3MzRmYTY2MDVhZg==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- YTZkZWQyOWRhMmE4NTRiNmRhY2I0Zjc1Mzg2MzgwYjFkNzdiYjBjNzI4ZGY5
10
- YzZkNjdhZDhlOTMyNzFiZTBlMjE4MDQ4OTYxY2MwNzZhZjQ5ODdlODFmNDgx
11
- N2YxNmY2MDczNWFhNWM4YjdlY2YwMjA5ZDZjMDNiZmMyMGIyMzg=
12
- data.tar.gz: !binary |-
13
- YjBlYmZlMTY4ZWI1NDQ5NDY3MTgzYWVkMGRjODE3NDJkNzk3MmUzNTU5ZmEw
14
- NGY3NWE1YTRiMjMxNTdmMjJjOTk3ZjA0NDU3NTk5NGZhOTQ2ZDQ2NWJhM2Nj
15
- ZDgxZmI0NzI5MWQ4ZjVhOGIwNmU0M2VhZWU3YmQ2MTc4MmNkY2I=
@@ -1,29 +0,0 @@
1
- Feature: implicit receiver
2
-
3
- When `should` is called in an example without an explicit receiver, it is
4
- invoked against the subject (explicit or implicit).
5
-
6
- Scenario: implicit subject
7
- Given a file named "example_spec.rb" with:
8
- """ruby
9
- describe Array do
10
- describe "when first created" do
11
- it { should be_empty }
12
- end
13
- end
14
- """
15
- When I run `rspec example_spec.rb`
16
- Then the examples should all pass
17
-
18
- Scenario: explicit subject
19
- Given a file named "example_spec.rb" with:
20
- """ruby
21
- describe Array do
22
- describe "with 3 items" do
23
- subject { [1,2,3] }
24
- it { should_not be_empty }
25
- end
26
- end
27
- """
28
- When I run `rspec example_spec.rb`
29
- Then the examples should all pass