sus-fixtures-console 0.3.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69305106d7c6e8321664a3ea8f8a30c95699e4ab01a6d620a59300ba5c990980
4
- data.tar.gz: d4951bd83195be5cc001d2f1580a6d9b356a782d38ef50bc29ea51cee4f4dad0
3
+ metadata.gz: 866c9717a17e7c6a2bb6a9e5c0100c5f2f3873987c1c61aaab238c3753790e0e
4
+ data.tar.gz: 3ec4c6a398935168f9666b192661e9223069ba501d02cd65514e9d80773fba83
5
5
  SHA512:
6
- metadata.gz: 5ee6e5089fcfd9c9b287a281384a068a986b055933dded04b24e65577f293b2d6aee8e582f1493d97e6f6544b1249597c091a1830c3cef1293b5ae34bc5f7492
7
- data.tar.gz: c47d11911df531b80c918364f8cf7fb23512c9af36ea655fddc5aecc3f20c76448e263c1943c0cffe01c74ebbe095bdec84e27a12b6538198d199a4ec7701907
6
+ metadata.gz: 3907c7561299fad43950dcfbb1cbd53cb6add6648f3ca79d92b33079e011d2c3a4c917beb4da698fa7c1bb95bdb3f1c14c539abd76f185056be4cd89eb6e1e52
7
+ data.tar.gz: a02d2e1fdd9c1735429afee13b7be05d4014cd37c01354024db87c2f1ec2698d90f1d6f70df61b9fd89794b95daa9f6d20e98dedabd7df7e0f0594dcd48100bf
checksums.yaml.gz.sig CHANGED
Binary file
@@ -3,18 +3,23 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2024, by Samuel Williams.
5
5
 
6
- require 'sus/shared'
7
- require 'console'
8
- require 'console/capture'
9
- require 'console/logger'
6
+ require "sus/shared"
7
+ require "console"
8
+ require "console/capture"
9
+ require "console/logger"
10
10
 
11
11
  module Sus
12
12
  module Fixtures
13
13
  module Console
14
+ # Shared context for capturing console output during tests.
15
+ # Provides access to captured log messages and helper methods for testing console logging.
14
16
  CapturedLogger = Sus::Shared("captured logger") do
17
+ # @attribute [Console::Capture] Captures console output for inspection.
15
18
  let(:console_capture) {::Console::Capture.new}
19
+ # @attribute [Console::Logger] Logger configured to capture output at DEBUG level.
16
20
  let(:console_logger) {::Console::Logger.new(console_capture, level: ::Console::Logger::DEBUG)}
17
21
 
22
+ # Set up console logger before test execution and clean up afterwards.
18
23
  def around
19
24
  ::Console.logger = console_logger
20
25
  super
@@ -22,10 +27,15 @@ module Sus
22
27
  ::Console.logger = nil
23
28
  end
24
29
 
30
+ # Create an expectation for the console capture.
31
+ # @returns [Object] An expectation object for the console capture.
25
32
  def expect_console
26
33
  expect(console_capture)
27
34
  end
28
35
 
36
+ # Create a matcher for checking logged messages with specific fields.
37
+ # @parameter fields [Hash] Key-value pairs to match in logged messages.
38
+ # @returns [Object] A matcher that checks for logged messages containing the specified fields.
29
39
  def have_logged(**fields)
30
40
  have_value(have_keys(**fields))
31
41
  end
@@ -3,17 +3,21 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2024, by Samuel Williams.
5
5
 
6
- require 'sus/shared'
7
- require 'console'
8
- require 'console/capture'
9
- require 'console/logger'
6
+ require "sus/shared"
7
+ require "console"
8
+ require "console/capture"
9
+ require "console/logger"
10
10
 
11
11
  module Sus
12
12
  module Fixtures
13
13
  module Console
14
+ # Shared context for suppressing console output during tests.
15
+ # Redirects all console logging to a null output to prevent noise in test runs.
14
16
  NullLogger = Sus::Shared("null logger") do
17
+ # @attribute [Console::Logger] Logger configured to suppress all output.
15
18
  let(:console_logger) {::Console::Logger.new(::Console::Output::Null.new)}
16
19
 
20
+ # Set up null logger before test execution and clean up afterwards.
17
21
  def around
18
22
  ::Console.logger = console_logger
19
23
  super
@@ -6,7 +6,7 @@
6
6
  module Sus
7
7
  module Fixtures
8
8
  module Console
9
- VERSION = "0.3.0"
9
+ VERSION = "0.4.0"
10
10
  end
11
11
  end
12
12
  end
@@ -3,5 +3,16 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2024, by Samuel Williams.
5
5
 
6
- require_relative 'console/version'
7
- require_relative 'console/captured_logger'
6
+ require_relative "console/version"
7
+ require_relative "console/captured_logger"
8
+ require_relative "console/null_logger"
9
+
10
+ # @namespace
11
+ module Sus
12
+ # @namespace
13
+ module Fixtures
14
+ # @namespace
15
+ module Console
16
+ end
17
+ end
18
+ end
data/readme.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Provides a convenient fixture for capturing or ignoring [console](https://github.com/socketry/console) logging.
4
4
 
5
- [![Development Status](https://github.com/sus-rb/sus-fixtures-console/workflows/Test/badge.svg)](https://github.com/sus-rb/sus-fixtures-console/actions?workflow=Test)
5
+ [![Development Status](https://github.com/socketry/sus-fixtures-console/workflows/Test/badge.svg)](https://github.com/socketry/sus-fixtures-console/actions?workflow=Test)
6
6
 
7
7
  ## Installation
8
8
 
@@ -12,9 +12,35 @@ $ bundle add sus-fixtures-console
12
12
 
13
13
  ## Usage
14
14
 
15
- Please see the [project documentation](https://sus-rb.github.io/sus-fixtures-console/) for more details.
15
+ Please see the [project documentation](https://socketry.github.io/sus-fixtures-console/) for more details.
16
16
 
17
- - [Getting Started](https://sus-rb.github.io/sus-fixtures-console/guides/getting-started/index) - This guide explains how to use the `Sus::Fixtures::Console` gem to redirect console logging output during tests.
17
+ - [Getting Started](https://socketry.github.io/sus-fixtures-console/guides/getting-started/index) - This guide explains how to use the `Sus::Fixtures::Console` gem to redirect console logging output during tests.
18
+
19
+ ## Releases
20
+
21
+ Please see the [project releases](https://socketry.github.io/sus-fixtures-console/releases/index) for all releases.
22
+
23
+ ### v0.4.0
24
+
25
+ - Add agent context.
26
+
27
+ ### v0.3.1
28
+
29
+ - Modernize gem structure and dependencies.
30
+
31
+ ### v0.3.0
32
+
33
+ - Add `expect_console` helper method for more fluent test assertions.
34
+ - Add `have_logged` predicate for checking logged messages with specific fields.
35
+
36
+ ### v0.2.0
37
+
38
+ - Avoid using nested fiber to prevent potential issues with fiber-based concurrency.
39
+
40
+ ### v0.1.0
41
+
42
+ - Add `Sus::Fixtures::Console::CapturedLogger` for capturing console output during tests.
43
+ - Add `Sus::Fixtures::Console::NullLogger` for suppressing console output during tests.
18
44
 
19
45
  ## Contributing
20
46
 
data/releases.md ADDED
@@ -0,0 +1,23 @@
1
+ # Releases
2
+
3
+ ## v0.4.0
4
+
5
+ - Add agent context.
6
+
7
+ ## v0.3.1
8
+
9
+ - Modernize gem structure and dependencies.
10
+
11
+ ## v0.3.0
12
+
13
+ - Add `expect_console` helper method for more fluent test assertions.
14
+ - Add `have_logged` predicate for checking logged messages with specific fields.
15
+
16
+ ## v0.2.0
17
+
18
+ - Avoid using nested fiber to prevent potential issues with fiber-based concurrency.
19
+
20
+ ## v0.1.0
21
+
22
+ - Add `Sus::Fixtures::Console::CapturedLogger` for capturing console output during tests.
23
+ - Add `Sus::Fixtures::Console::NullLogger` for suppressing console output during tests.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sus-fixtures-console
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain:
11
10
  - |
@@ -37,7 +36,7 @@ cert_chain:
37
36
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
37
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
39
38
  -----END CERTIFICATE-----
40
- date: 2024-07-17 00:00:00.000000000 Z
39
+ date: 1980-01-02 00:00:00.000000000 Z
41
40
  dependencies:
42
41
  - !ruby/object:Gem::Dependency
43
42
  name: console
@@ -67,8 +66,6 @@ dependencies:
67
66
  - - "~>"
68
67
  - !ruby/object:Gem::Version
69
68
  version: '0.10'
70
- description:
71
- email:
72
69
  executables: []
73
70
  extensions: []
74
71
  extra_rdoc_files: []
@@ -79,14 +76,14 @@ files:
79
76
  - lib/sus/fixtures/console/version.rb
80
77
  - license.md
81
78
  - readme.md
82
- homepage: https://github.com/sus-rb/sus-fixtures-console
79
+ - releases.md
80
+ homepage: https://github.com/socketry/sus-fixtures-console
83
81
  licenses:
84
82
  - MIT
85
83
  metadata:
86
- documentation_uri: https://sus-rb.github.io/sus-fixtures-console/
84
+ documentation_uri: https://socketry.github.io/sus-fixtures-console/
87
85
  funding_uri: https://github.com/sponsors/ioquatix/
88
- source_code_uri: https://github.com/sus-rb/sus-fixtures-console.git
89
- post_install_message:
86
+ source_code_uri: https://github.com/socketry/sus-fixtures-console.git
90
87
  rdoc_options: []
91
88
  require_paths:
92
89
  - lib
@@ -94,15 +91,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
94
91
  requirements:
95
92
  - - ">="
96
93
  - !ruby/object:Gem::Version
97
- version: '3.1'
94
+ version: '3.2'
98
95
  required_rubygems_version: !ruby/object:Gem::Requirement
99
96
  requirements:
100
97
  - - ">="
101
98
  - !ruby/object:Gem::Version
102
99
  version: '0'
103
100
  requirements: []
104
- rubygems_version: 3.5.11
105
- signing_key:
101
+ rubygems_version: 3.6.9
106
102
  specification_version: 4
107
103
  summary: Test fixtures for capturing Console output.
108
104
  test_files: []
metadata.gz.sig CHANGED
Binary file