Sha256: 3564aebd8967af18104b7bcf9b718c6f38bc6042635ed4dc567ff07aa0cec9c4
Contents?: true
Size: 1.16 KB
Versions: 21
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true require File.dirname(__FILE__) + "/spec_helper" RSpec.describe YARD::Handlers::C::AttributeHandler do def run(read, write, commented = nil) parse <<-eof /* FOO */ VALUE foo(VALUE x) { int value = x; } void Init_Foo() { rb_cFoo = rb_define_class("Foo", rb_cObject); #{commented ? '/*' : ''} rb_define_attr(rb_cFoo, "foo", #{read}, #{write}); #{commented ? '*/' : ''} } eof end it "handles readonly attribute (rb_define_attr)" do run(1, 0) expect(Registry.at('Foo#foo')).to be_reader expect(Registry.at('Foo#foo=')).to be nil end it "handles writeonly attribute (rb_define_attr)" do run(0, 1) expect(Registry.at('Foo#foo')).to be nil expect(Registry.at('Foo#foo=')).to be_writer end it "handles readwrite attribute (rb_define_attr)" do run(1, 1) expect(Registry.at('Foo#foo')).to be_reader expect(Registry.at('Foo#foo=')).to be_writer end it "handles commented writeonly attribute (/* rb_define_attr */)" do run(1, 1, true) expect(Registry.at('Foo#foo')).to be_reader expect(Registry.at('Foo#foo=')).to be_writer end end
Version data entries
21 entries across 20 versions & 4 rubygems