spec/async/logger_spec.rb in async-1.12.0 vs spec/async/logger_spec.rb in async-1.13.0
- old
+ new
@@ -16,34 +16,78 @@
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
+RSpec.describe Async::Logger do
+ let(:output) {StringIO.new}
+ subject{described_class.new(output)}
+
+ let(:message) {"Hello World"}
+
+ context "default log level" do
+ it "logs info" do
+ subject.info(message)
+
+ expect(output.string).to include message
+ end
+
+ it "doesn't log debug" do
+ subject.debug(message)
+
+ expect(output.string).to_not include message
+ end
+ end
+
+ described_class::LEVELS.each do |name, level|
+ it "can log #{name} messages" do
+ subject.level = level
+ subject.log(name, message)
+
+ expect(output.string).to include message
+ end
+ end
+
+ describe '#enable' do
+ let(:object) {Async::Node.new}
+
+ it "can enable specific subjects" do
+ subject.warn!
+
+ subject.enable(object)
+ expect(subject).to be_enabled(object)
+
+ subject.debug(object, message)
+ expect(output.string).to include message
+ end
+ end
+end
+
RSpec.describe Async.logger do
- describe '::default_log_level' do
+ describe 'default_log_level' do
let!(:debug) {$DEBUG}
after {$DEBUG = debug}
let!(:verbose) {$VERBOSE}
after {$VERBOSE = verbose}
it 'should set default log level' do
$DEBUG = false
$VERBOSE = false
- expect(Async.default_log_level).to be == Logger::WARN
+ expect(Async.default_log_level).to be == Async::Logger::WARN
end
it 'should set default log level based on $DEBUG' do
$DEBUG = true
- expect(Async.default_log_level).to be == Logger::DEBUG
+ expect(Async.default_log_level).to be == Async::Logger::DEBUG
end
it 'should set default log level based on $VERBOSE' do
$DEBUG = false
$VERBOSE = true
- expect(Async.default_log_level).to be == Logger::INFO
+ expect(Async.default_log_level).to be == Async::Logger::INFO
end
end
end