提交 b8bb54af 编写于 作者: X Xavier Noria

defines Module#anonymous?

上级 eea28b07
require 'active_support/core_ext/module/aliasing'
require 'active_support/core_ext/module/introspection'
require 'active_support/core_ext/module/anonymous'
require 'active_support/core_ext/module/attribute_accessors'
require 'active_support/core_ext/module/attr_internal'
require 'active_support/core_ext/module/attr_accessor_with_default'
......
class Module
# A module may or may not have a name.
#
# module M; end
# M.name # => "M"
#
# m = Module.new
# m.name # => ""
#
# A module gets a name when it is first assigned to a constant. Either
# via the +module+ or +class+ keyword or by an explicit assignment:
#
# m = Module.new # creates an anonymous module
# M = m # => m gets a name here as a side-effect
# m.name # => "M"
#
def anonymous?
name == ''
end
end
require 'abstract_unit'
require 'active_support/core_ext/module/anonymous'
class AnonymousTest < ActiveSupport::TestCase
test "an anonymous class or module are anonymous" do
assert Module.new.anonymous?
assert Class.new.anonymous?
end
test "a named class or module are not anonymous" do
assert !Kernel.anonymous?
assert !Object.anonymous?
end
end
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册