rspec-support 3.0.4 → 3.12.1

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 (41) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data/Changelog.md +322 -0
  4. data/{LICENSE.txt → LICENSE.md} +3 -2
  5. data/README.md +29 -6
  6. data/lib/rspec/support/caller_filter.rb +35 -16
  7. data/lib/rspec/support/comparable_version.rb +46 -0
  8. data/lib/rspec/support/differ.rb +51 -41
  9. data/lib/rspec/support/directory_maker.rb +63 -0
  10. data/lib/rspec/support/encoded_string.rb +110 -15
  11. data/lib/rspec/support/fuzzy_matcher.rb +5 -6
  12. data/lib/rspec/support/hunk_generator.rb +0 -1
  13. data/lib/rspec/support/matcher_definition.rb +42 -0
  14. data/lib/rspec/support/method_signature_verifier.rb +287 -54
  15. data/lib/rspec/support/mutex.rb +73 -0
  16. data/lib/rspec/support/object_formatter.rb +275 -0
  17. data/lib/rspec/support/recursive_const_methods.rb +76 -0
  18. data/lib/rspec/support/reentrant_mutex.rb +78 -0
  19. data/lib/rspec/support/ruby_features.rb +177 -14
  20. data/lib/rspec/support/source/location.rb +21 -0
  21. data/lib/rspec/support/source/node.rb +110 -0
  22. data/lib/rspec/support/source/token.rb +94 -0
  23. data/lib/rspec/support/source.rb +85 -0
  24. data/lib/rspec/support/spec/deprecation_helpers.rb +19 -32
  25. data/lib/rspec/support/spec/diff_helpers.rb +31 -0
  26. data/lib/rspec/support/spec/in_sub_process.rb +43 -16
  27. data/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  28. data/lib/rspec/support/spec/shell_out.rb +108 -0
  29. data/lib/rspec/support/spec/stderr_splitter.rb +31 -9
  30. data/lib/rspec/support/spec/string_matcher.rb +45 -0
  31. data/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  32. data/lib/rspec/support/spec/with_isolated_stderr.rb +0 -2
  33. data/lib/rspec/support/spec.rb +46 -26
  34. data/lib/rspec/support/version.rb +1 -1
  35. data/lib/rspec/support/warnings.rb +6 -6
  36. data/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  37. data/lib/rspec/support.rb +87 -3
  38. data.tar.gz.sig +0 -0
  39. metadata +70 -52
  40. metadata.gz.sig +0 -0
  41. data/lib/rspec/support/version_checker.rb +0 -53
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-support
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.4
4
+ version: 3.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -10,76 +10,74 @@ authors:
10
10
  - Sam Phippen
11
11
  - Xaviery Shay
12
12
  - Bradley Schaefer
13
- autorequire:
13
+ autorequire:
14
14
  bindir: bin
15
15
  cert_chain:
16
16
  - |
17
17
  -----BEGIN CERTIFICATE-----
18
- MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMRIwEAYDVQQDDAlyc3Bl
19
- Yy1kZXYxGzAZBgoJkiaJk/IsZAEZFgtnb29nbGVnb3VwczETMBEGCgmSJomT8ixk
20
- ARkWA2NvbTAeFw0xMzExMDcxOTQyNTlaFw0xNDExMDcxOTQyNTlaMEYxEjAQBgNV
21
- BAMMCXJzcGVjLWRldjEbMBkGCgmSJomT8ixkARkWC2dvb2dsZWdvdXBzMRMwEQYK
22
- CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
23
- nhCeZouDLXWO55no+EdZNCtjXjfJQ1X9TbPcvBDD29OypIUce2h/VdKXB2gI7ZHs
24
- F5NkPggslTErGFmWAtIiur7u943RVqHOsyoIsy065F9fCtrykkA+22elvTDha4Iz
25
- RUCvuhQ3klatYk4jF+cGt1jNONNVdLOiy0bMynvcM7hoVQ2AomwGs+cEOWQ/4dkD
26
- JcNV3qfzF5QBcTD2372XNM53b25nYVQSX2KH5FF7BhlKyov33bOm2gA9M+mWIujW
27
- qgkyxVlfrlE+ZBgV3wXn1Cojg1LpTq35yOArgwioyrwwlZZJR9joN9s/nDklfr5A
28
- +dyETjFc6cmEPWZrt2cJBQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
29
- AgSwMB0GA1UdDgQWBBSW+WD7hn1swJ1A7i8tbuFeuNCJCjAkBgNVHREEHTAbgRly
30
- c3BlYy1kZXZAZ29vZ2xlZ291cHMuY29tMCQGA1UdEgQdMBuBGXJzcGVjLWRldkBn
31
- b29nbGVnb3Vwcy5jb20wDQYJKoZIhvcNAQEFBQADggEBAH27jAZ8sD7vnXupj6Y+
32
- BaBdfHtCkFaslLJ0aKuMDIVXwYuKfqoW15cZPDLmSIEBuQFM3lw6d/hEEL4Uo2jZ
33
- FvtmH5OxifPDzFyUtCL4yp6qgNe/Xf6sDsRg6FmKcpgqCwNOmsViaf0LPSUH/GYQ
34
- 3Teoz8QCaDbD7AKsffT7eDrnbHnKweO1XdemRJC98u/yYxnGzMSWKEsn09etBlZ9
35
- 7H67k5Z3uf6cfLZgToWL6zShzZY3Nun5r73YsNf2/QZOe4UZe4vfGvn6baw53ys9
36
- 1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz
37
- muA=
18
+ MIIF1TCCA72gAwIBAgIJAPXjfUbCjdXUMA0GCSqGSIb3DQEBBQUAMIGAMQswCQYD
19
+ VQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEO
20
+ MAwGA1UECgwFUlNwZWMxEzARBgNVBAMMCnJzcGVjLmluZm8xJTAjBgkqhkiG9w0B
21
+ CQEWFnJzcGVjQGdvb2dsZWdyb3Vwcy5jb20wHhcNMTQxMjIzMDkzNTIyWhcNMjQx
22
+ MjIyMDkzNTIyWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24x
23
+ EDAOBgNVBAcMB1NlYXR0bGUxDjAMBgNVBAoMBVJTcGVjMRMwEQYDVQQDDApyc3Bl
24
+ Yy5pbmZvMSUwIwYJKoZIhvcNAQkBFhZyc3BlY0Bnb29nbGVncm91cHMuY29tMIIC
25
+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsSmjgcHaKlD0jizRJowi2bGI
26
+ KMOHnJoExxRNHHxH+3w9kkl95YldvDRVX495b13ZCzwRe0AyqX24wq04tp0G5Z5C
27
+ e/w2pnNK4ol1eECPwQu+YGpepeODlZICL5gwQspe0cDifbBnHx5QySMiPpvx6bC0
28
+ tQTox0ppDIaMhch8IPCwyoE4DQK5bpsdwnLSHTsQjUIb7IM8tUMpd/iKrJgNffwc
29
+ 6gC1TmhIlzQoB26nCNh9uK7xZjUM+sGECzvcYuImchUaIgJA/ybrlZS+m/hxzvBo
30
+ mLnn/xNEC6Vz5HG+3TR0Gb0cSUf6XUu2s51Jk/SJi3MhCZp2gs9OUg4EVZNzQVkZ
31
+ efLBjAZG2Mxk14JyB4/Omc+Jk0ajprINCBbUNnxzCJrYDM3J9TVWIwyUGNX/U3MO
32
+ s3tMAT+EVgx/mZMPnBO8EULlyF51MRUp3Wy9Mnw8AYLk30UnMG5AjqgO5JNyFlA7
33
+ Xeh3EVdWY3vMB1pkhPwlsenpcmj5gOzrd54lELOVbCGHCf48iSqeflY2Lhe0pvzK
34
+ blXCJBDmtrebvus291rM/dHcbEfK1SVd5Wut/n131iouf6dnNCFskFygDcgBbthC
35
+ gpEMqf80lEmhX59VUsm0Pv6OEo+ZPHBvXPiJA6DShQh9t3YtpwyA8uVDMbT/i32u
36
+ 2FUsqZbbJcCmkBrGposCAwEAAaNQME4wHQYDVR0OBBYEFPPvQ5XT0Nvuhi6k+hrW
37
+ Vv35J+TeMB8GA1UdIwQYMBaAFPPvQ5XT0Nvuhi6k+hrWVv35J+TeMAwGA1UdEwQF
38
+ MAMBAf8wDQYJKoZIhvcNAQEFBQADggIBAIqbQSWH2aAF537DKwAMB8nMFsoe24MD
39
+ gtuQAyjTtbH+QBE4N2RdQF/sU7Y3PYR7nqdrCsYc3RxyqM5XXi7I3IYdpfe1RuxY
40
+ +pyPzVQsPPDhMlJlCrwJsADnxlpxZlAgxYSLKOan55ihscaAWA90wqRUrf/ZJM36
41
+ 8LWCPVn5teIt5aaxZWX68RMxa+AXvpbtJOBwXLkIFk3apD8CX4DhelIdw67DbkUe
42
+ ghUd/u62qrnqBTVgditt7OoWIZjzh24/Fda5d0MxZyvLILGOrf5bN4cTbe/q9Cid
43
+ Xrik7Upm+mu3y3yQIfrw85xybHq6iNXyYHvCdSrFfCIKrGpd/0CAdmYnJlx59Fk/
44
+ UbD3Eyx4psBSkU+WKO0Uf+3zNI7N/nVeNIwU/Ft+l8l7/K+427656c+ZGWDO0Gt/
45
+ BeEOSTDKP7qQ1T+JvMrBcBQo+i0cnRT10J1aoV90BhxsvWTRizIbugbaqR6Tq3bj
46
+ Akt00cIlNSplL6DenIAKSh5kF7s0tRD0tC3bNkZmNjNGkdoGEcUODEpTB3RHKKiu
47
+ e6k2Jg6m00z5vGFQhOnROG/QaUzMA3A3mFBe1RHFo07xd0pFeoeWL3vF69Gx9Jwp
48
+ ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
49
+ F3MdtaDehhjC
38
50
  -----END CERTIFICATE-----
39
- date: 2014-08-14 00:00:00.000000000 Z
51
+ date: 2023-06-26 00:00:00.000000000 Z
40
52
  dependencies:
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.3'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.3'
55
53
  - !ruby/object:Gem::Dependency
56
54
  name: rake
57
55
  requirement: !ruby/object:Gem::Requirement
58
56
  requirements:
59
- - - "~>"
57
+ - - ">"
60
58
  - !ruby/object:Gem::Version
61
59
  version: 10.0.0
62
60
  type: :development
63
61
  prerelease: false
64
62
  version_requirements: !ruby/object:Gem::Requirement
65
63
  requirements:
66
- - - "~>"
64
+ - - ">"
67
65
  - !ruby/object:Gem::Version
68
66
  version: 10.0.0
69
67
  - !ruby/object:Gem::Dependency
70
- name: rspec
68
+ name: thread_order
71
69
  requirement: !ruby/object:Gem::Requirement
72
70
  requirements:
73
- - - ">="
71
+ - - "~>"
74
72
  - !ruby/object:Gem::Version
75
- version: 3.0.0.pre
73
+ version: 1.1.0
76
74
  type: :development
77
75
  prerelease: false
78
76
  version_requirements: !ruby/object:Gem::Requirement
79
77
  requirements:
80
- - - ">="
78
+ - - "~>"
81
79
  - !ruby/object:Gem::Version
82
- version: 3.0.0.pre
80
+ version: 1.1.0
83
81
  description: Support utilities for RSpec gems
84
82
  email: rspec-users@rubyforge.org
85
83
  executables: []
@@ -87,30 +85,51 @@ extensions: []
87
85
  extra_rdoc_files: []
88
86
  files:
89
87
  - Changelog.md
90
- - LICENSE.txt
88
+ - LICENSE.md
91
89
  - README.md
92
90
  - lib/rspec/support.rb
93
91
  - lib/rspec/support/caller_filter.rb
92
+ - lib/rspec/support/comparable_version.rb
94
93
  - lib/rspec/support/differ.rb
94
+ - lib/rspec/support/directory_maker.rb
95
95
  - lib/rspec/support/encoded_string.rb
96
96
  - lib/rspec/support/fuzzy_matcher.rb
97
97
  - lib/rspec/support/hunk_generator.rb
98
+ - lib/rspec/support/matcher_definition.rb
98
99
  - lib/rspec/support/method_signature_verifier.rb
100
+ - lib/rspec/support/mutex.rb
101
+ - lib/rspec/support/object_formatter.rb
102
+ - lib/rspec/support/recursive_const_methods.rb
103
+ - lib/rspec/support/reentrant_mutex.rb
99
104
  - lib/rspec/support/ruby_features.rb
105
+ - lib/rspec/support/source.rb
106
+ - lib/rspec/support/source/location.rb
107
+ - lib/rspec/support/source/node.rb
108
+ - lib/rspec/support/source/token.rb
100
109
  - lib/rspec/support/spec.rb
101
110
  - lib/rspec/support/spec/deprecation_helpers.rb
111
+ - lib/rspec/support/spec/diff_helpers.rb
102
112
  - lib/rspec/support/spec/formatting_support.rb
103
113
  - lib/rspec/support/spec/in_sub_process.rb
114
+ - lib/rspec/support/spec/library_wide_checks.rb
115
+ - lib/rspec/support/spec/shell_out.rb
104
116
  - lib/rspec/support/spec/stderr_splitter.rb
117
+ - lib/rspec/support/spec/string_matcher.rb
118
+ - lib/rspec/support/spec/with_isolated_directory.rb
105
119
  - lib/rspec/support/spec/with_isolated_stderr.rb
106
120
  - lib/rspec/support/version.rb
107
- - lib/rspec/support/version_checker.rb
108
121
  - lib/rspec/support/warnings.rb
122
+ - lib/rspec/support/with_keywords_when_needed.rb
109
123
  homepage: https://github.com/rspec/rspec-support
110
124
  licenses:
111
125
  - MIT
112
- metadata: {}
113
- post_install_message:
126
+ metadata:
127
+ bug_tracker_uri: https://github.com/rspec/rspec-support/issues
128
+ changelog_uri: https://github.com/rspec/rspec-support/blob/v3.12.1/Changelog.md
129
+ documentation_uri: https://rspec.info/documentation/
130
+ mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
131
+ source_code_uri: https://github.com/rspec/rspec-support
132
+ post_install_message:
114
133
  rdoc_options:
115
134
  - "--charset=UTF-8"
116
135
  require_paths:
@@ -126,9 +145,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
145
  - !ruby/object:Gem::Version
127
146
  version: '0'
128
147
  requirements: []
129
- rubyforge_project: rspec
130
- rubygems_version: 2.2.2
131
- signing_key:
148
+ rubygems_version: 3.4.1
149
+ signing_key:
132
150
  specification_version: 4
133
- summary: rspec-support-3.0.4
151
+ summary: rspec-support-3.12.1
134
152
  test_files: []
metadata.gz.sig CHANGED
Binary file
@@ -1,53 +0,0 @@
1
- module RSpec
2
- module Support
3
- LibraryVersionTooLowError = Class.new(StandardError)
4
-
5
- # @private
6
- class VersionChecker
7
- def initialize(library_name, library_version, min_patch_level)
8
- @library_name, @library_version = library_name, library_version
9
- @min_patch_level = min_patch_level
10
-
11
- @major, @minor, @patch = parse_version(library_version)
12
- @min_major, @min_minor, @min_patch = parse_version(min_patch_level)
13
-
14
- @comparison_result = compare_version
15
- end
16
-
17
- def check_version!
18
- raise_too_low_error if too_low?
19
- end
20
-
21
- private
22
-
23
- def too_low?
24
- @comparison_result == :too_low
25
- end
26
-
27
- def raise_too_low_error
28
- raise LibraryVersionTooLowError,
29
- "You are using #{@library_name} #{@library_version}. " +
30
- "RSpec requires version #{version_requirement}."
31
- end
32
-
33
- def compare_version
34
- case
35
- when @major < @min_major then :too_low
36
- when @major > @min_major then :ok
37
- when @minor < @min_minor then :too_low
38
- when @minor > @min_minor then :ok
39
- when @patch < @min_patch then :too_low
40
- else :ok
41
- end
42
- end
43
-
44
- def version_requirement
45
- ">= #{@min_patch_level}"
46
- end
47
-
48
- def parse_version(version)
49
- version.split('.').map { |v| v.to_i }
50
- end
51
- end
52
- end
53
- end