test/test_unpiercable.rb in veils-0.3.0 vs test/test_unpiercable.rb in veils-0.4.0
- old
+ new
@@ -1,10 +1,10 @@
# frozen_string_literal: true
# (The MIT License)
#
-# Copyright (c) 2020 Yegor Bugayenko
+# Copyright (c) 2020-2023 Yegor Bugayenko
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the 'Software'), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
@@ -26,11 +26,11 @@
require 'json'
require_relative '../lib/unpiercable'
# Veil test.
# Author:: Yegor Bugayenko (yegor256@gmail.com)
-# Copyright:: Copyright (c) 2020 Yegor Bugayenko
+# Copyright:: Copyright (c) 2020-2023 Yegor Bugayenko
# License:: MIT
class UnpiercableTest < Minitest::Test
def test_simple
obj = Object.new
def obj.read(foo)
@@ -68,7 +68,21 @@
foo = Veil.new(origin, count: 1)
assert_equal(1, foo.count)
observed = 0
foo.each { |_| observed += 1 }
assert_equal(3, observed)
+ end
+
+ def test_respond_to
+ foo = Unpiercable.new(Object.new)
+ assert_equal(false, foo.respond_to?(:undefine_method))
+
+ foo = Unpiercable.new(Object.new, method_return_object: Object.new)
+ assert_equal(true, foo.respond_to?(:method_return_object))
+
+ foo = Unpiercable.new(Object.new, method_return_false: false)
+ assert_equal(true, foo.respond_to?(:method_return_false))
+
+ foo = Unpiercable.new(Object.new, method_return_nil: nil)
+ assert_equal(true, foo.respond_to?(:method_return_nil))
end
end