Sha256: fbfb85e9aae41750b9e83b0e31ec67630d33d632da140c5c06990796bf30b1d9
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
# frozen_string_literal: true require 'test_helper' describe Gtk::Builder do let(:builder) { Gtk::Builder.new } let(:spec) do <<-XML <interface> <object class="GtkButton" id="foo"> <signal handler="on_button_clicked" name="clicked"/> </object> </interface> XML 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 <<-XML <interface> <object class="GtkButton" id="foo"> <signal handler="handler_after" name="clicked" after="true"/> <signal handler="handler_before" name="clicked"/> </object> </interface> XML 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-gtk-0.15.0 | test/gir_ffi-gtk/builder_test.rb |