Sha256: cbc0206c94a14abfa79a2717245538906596f644e3293c92537b4bd7ae9bf2ce
Contents?: true
Size: 1.68 KB
Versions: 5
Compression:
Stored size: 1.68 KB
Contents
require 'test_helper' describe Gtk::Builder do let(:builder) { Gtk::Builder.new } let(:spec) do <<-EOS <interface> <object class="GtkButton" id="foo"> <signal handler="on_button_clicked" name="clicked"/> </object> </interface> EOS end describe "#add_from_string" do it 'takes one string as argument' do builder.add_from_string spec pass end end describe "#connect_signals" do before do builder.add_from_string spec end it 'passes the handler name to the block' do name = nil builder.connect_signals do |handler_name| name = handler_name nil end name.must_equal 'on_button_clicked' end it 'connects the signal to the proc returned by the block' do name = nil builder.connect_signals do |handler_name| proc { name = handler_name } end button = builder.get_object('foo') GObject.signal_emit button, 'clicked' name.must_equal 'on_button_clicked' end describe 'with a signal with after flag' do let(:spec) do <<-EOS <interface> <object class="GtkButton" id="foo"> <signal handler="handler_after" name="clicked" after="true"/> <signal handler="handler_before" name="clicked"/> </object> </interface> EOS end it 'connects the handlers in the right order' do name = nil builder.connect_signals do |handler_name| proc { name = handler_name } end button = builder.get_object('foo') GObject.signal_emit button, 'clicked' name.must_equal 'handler_after' end end end end
Version data entries
5 entries across 5 versions & 1 rubygems