summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/ecore_evas_spec.rb255
1 files changed, 249 insertions, 6 deletions
diff --git a/spec/ecore_evas_spec.rb b/spec/ecore_evas_spec.rb
index c4d2275..afb1b48 100644
--- a/spec/ecore_evas_spec.rb
+++ b/spec/ecore_evas_spec.rb
@@ -1,24 +1,267 @@
#! /usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
+require 'efl/evas'
+require 'efl/ecore'
require 'efl/ecore_evas'
#
+def ecore_loop n
+ n.downto(0) do
+ sleep 0.1
+ Efl::Ecore.main_loop_iterate
+ end
+end
+#
describe Efl::EcoreEvas do
#
before(:all) do
EcoreEvas = Efl::EcoreEvas
+ EcoreEvas.init
+ end
+ after(:all) do
+ EcoreEvas.shutdown
end
#
it "should init" do
- EcoreEvas.init.should eql 1
- EcoreEvas.init.should eql 2
- EcoreEvas.init.should eql 3
+ EcoreEvas.init.should == 2
+ EcoreEvas.init.should == 3
end
#
it "should shutdown" do
- EcoreEvas.shutdown.should eql 2
- EcoreEvas.shutdown.should eql 1
- EcoreEvas.shutdown.should eql 0
+ EcoreEvas.shutdown.should == 2
+ EcoreEvas.shutdown.should == 1
end
#
+ it "should work" do
+ EcoreEvas.engines_free EcoreEvas.engines_get
+# require 'efl/eina_list'
+# l = Efl::EinaList::REinaList.new EcoreEvas.engines_get
+# l.each do |e| puts e.read_string end
+# EcoreEvas.engines_free l
+ end
+ #
+ describe Efl::EcoreEvas::REcoreEvas do
+ before(:all) {
+ EcoreEvas.init
+ }
+ before(:each) do
+ @e = EcoreEvas::REcoreEvas.new :engine_name=>"software_x11", :x=>10, :y=>10, :w=>100, :h=>120
+ @e.move 10, 10
+ @canvas = @e.evas
+ @bg = @canvas.object_add(:rectangle) { |o|
+ o.color = 100, 100, 255, 255
+ o.size = @e.size
+ }
+ @bg.show
+ @e.show
+ end
+ after(:each) do
+ @e.free
+ end
+ after(:all) do
+ EcoreEvas.shutdown
+ end
+ #
+ it "engine_name_get should work" do
+ @e.engine_name_get.should == "software_x11"
+ end
+ #
+ it "data get/set should work" do
+ @e.data_set 'key', '666'
+ @e.data_get('key').read_string.should == '666'
+ end
+ #
+ it "move, resize move_resize and geometry_get should work" do
+ @e.geometry_get.should == [10,10,100,120]
+ @e.move 20, 17 # w+23 window bar height
+ ecore_loop 3
+ @e.geometry_get.should == [20,40,100,120]
+ @e.resize 200,150
+ ecore_loop 3
+ @e.geometry_get.should == [20,40,200,150]
+ @e.move_resize 10, 0, 130, 100
+ ecore_loop 3
+ @e.geometry_get.should == [10,23,130,100]
+ g = @e.geometry_get
+ end
+ #
+ it "rotation should work" do
+ @e.rotation_set 25
+ @e.rotation_get.should == 25
+ @e.rotation_set 50
+ @e.rotation_get.should == 50
+ end
+ #
+ it "shaped get/set should work" do
+ @e.shaped?.should be_false
+ @e.shaped_set true
+ @e.shaped_get.should be_true
+ @e.shaped = false
+ @e.shaped?.should be_false
+ end
+ #
+ it "alpha get/set should work" do
+ @e.alpha?.should be_false
+ @e.alpha_set true
+ @e.alpha_get.should be_true
+ @e.alpha = false
+ @e.alpha?.should be_false
+ end
+ #
+ it "transparent get/set should work" do
+ @e.transparent?.should be_false
+ @e.transparent_set true
+ @e.transparent_get.should be_true
+ @e.transparent = false
+ @e.transparent?.should be_false
+ end
+ #
+ it "show hide visibility should work" do
+ ecore_loop 3
+ @e.visibility?.should == 1
+ @e.hide
+ ecore_loop 3
+ @e.visibility_get.should == 0
+ @e.show
+ ecore_loop 3
+ @e.visibility?.should == 1
+ end
+ #
+ it "raise lower activate should work" do
+ @e.raise
+ @e.lower
+ @e.activate
+ end
+ #
+ it "title set/get should work" do
+ @e.title_set "title"
+ @e.title_get.should == "title"
+ @e.title = "other"
+ @e.title_get.should == "other"
+ end
+ #
+ #
+ it "name_class set/get should work" do
+ @e.name_class_set "name", "class"
+ @e.name_class_get.should == ['name','class']
+ @e.name_class = "name1", "class1"
+ @e.name_class_get.should == ['name1','class1']
+ end
+ #
+ it "size_min set/get should work" do
+ @e.size_min_set 20, 30
+ @e.size_min_get.should == [20, 30]
+ end
+ #
+ it "size_max set/get should work" do
+ @e.size_max_set 20, 30
+ @e.size_max_get.should == [20, 30]
+ end
+ #
+ it "size_base set/get should work" do
+ @e.size_base_set 20, 30
+ @e.size_base_get.should == [20, 30]
+ end
+ #
+ it "size_step set/get should work" do
+ @e.size_step_set 20, 30
+ @e.size_step_get.should == [20, 30]
+ end
+ #
+ # TODO : 3 * cursor
+ #
+ it "layer set/get should work" do
+ @e.layer_set 2
+ @e.layer_get.should == 2
+ @e.layer = 1
+ @e.layer?.should == 1
+ end
+ #
+ it "focus set/get should work" do
+ @e.focus?.should be_false
+ @e.focus_set true
+ ecore_loop 3
+ @e.focus_get.should be_true
+ @e.focus?.should be_true
+ end
+ #
+ it "iconified set/get should work" do
+ @e.iconified_set true
+ @e.iconified_get.should be_true
+ @e.iconified = false
+ @e.iconified?.should be_false
+ end
+ #
+ it "borderless set/get should work" do
+ @e.borderless_set true
+ @e.borderless_get.should be_true
+ @e.borderless = false
+ @e.borderless?.should be_false
+ end
+ #
+ it "override set/get should work" do
+ @e.override_set true
+ @e.override_get.should be_true
+ @e.override = false
+ @e.override?.should be_false
+ end
+ #
+ # FIXME
+ # ecore/src/lib/ecore_evas/ecore_evas.c => ecore_evas_maximized_set => IFC => return
+# it "maximized set/get should work" do
+# @e.maximized?.should be_false
+# @e.maximized_set true
+# ecore_loop 10
+# @e.maximized_get.should be_true
+# @e.maximized = false
+# ecore_loop 3
+# @e.maximized?.should be_false
+# end
+ #
+ it "fullscreen set/get should work" do
+ @e.fullscreen_set true
+ ecore_loop 3
+ @e.fullscreen_get.should be_true
+ @e.fullscreen = false
+ ecore_loop 3
+ @e.fullscreen?.should be_false
+ end
+ #
+ it "avoid_damage set/get should work" do
+ @e.avoid_damage_set :ecore_evas_avoid_damage_expose
+ ecore_loop 3
+ @e.avoid_damage_get.should == :ecore_evas_avoid_damage_expose
+ @e.avoid_damage = :ecore_evas_avoid_damage_built_in
+ ecore_loop 3
+ @e.avoid_damage?.should == :ecore_evas_avoid_damage_built_in
+ end
+ #
+ it "withdrawn set/get should work" do
+ @e.withdrawn_set true
+ @e.withdrawn_get.should be_true
+ @e.withdrawn = false
+ @e.withdrawn?.should be_false
+ end
+ #
+ it "sticky set/get should work" do
+ @e.sticky_set true
+ ecore_loop 3
+ @e.sticky_get.should be_true
+ @e.sticky = false
+ ecore_loop 3
+ @e.sticky?.should be_false
+ end
+ #
+ it "ignore_events set/get should work" do
+ @e.ignore_events_set true
+ @e.ignore_events_get.should be_true
+ @e.ignore_events = false
+ @e.ignore_events?.should be_false
+ end
+ #
+# it "object_associate dissociate should work" do
+# @e.object_associate_set true
+# @e.object_associate_set true
+# end
+ end
end