sleipnir-api 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. data/History.txt +32 -0
  2. data/Manifest.txt +20 -3
  3. data/Rakefile +11 -1
  4. data/TODO.txt +4 -10
  5. data/bin/grepnir +1 -1
  6. data/examples/close_dup.rb +1 -1
  7. data/examples/close_err.rb +12 -0
  8. data/examples/command_list.rb +135 -0
  9. data/examples/open_last_url_by_firefox.rb +44 -0
  10. data/examples/open_selected_links.rb +40 -0
  11. data/helper/rake.rb +3 -57
  12. data/helper/rake/rake.rb +58 -0
  13. data/helper/{rake_sh_filter.rb → rake/rake_sh_filter.rb} +0 -0
  14. data/helper/{util.rb → rake/util.rb} +0 -0
  15. data/lib/sleipnir_api/cli/grepnir.rb +2 -3
  16. data/lib/sleipnir_api/command.rb +126 -0
  17. data/lib/sleipnir_api/commands.rb +264 -0
  18. data/lib/sleipnir_api/profile.rb +166 -27
  19. data/lib/sleipnir_api/profile/ini.rb +202 -0
  20. data/lib/sleipnir_api/profile/key.rb +120 -0
  21. data/lib/sleipnir_api/profile/section.rb +147 -0
  22. data/lib/sleipnir_api/profile/util.rb +82 -0
  23. data/lib/sleipnir_api/searcher.rb +133 -0
  24. data/lib/sleipnir_api/security.rb +88 -18
  25. data/lib/sleipnir_api/sleipnir.rb +91 -7
  26. data/lib/sleipnir_api/tab.rb +68 -2
  27. data/lib/sleipnir_api/tabbed_ie.rb +33 -0
  28. data/lib/sleipnir_api/util.rb +25 -0
  29. data/lib/sleipnir_api/version.rb +2 -2
  30. data/scripts/gesture2rb.rb +42 -0
  31. data/scripts/make_gesture.rb +271 -0
  32. data/scripts/subcategory.csv +253 -0
  33. data/spec/sleipnir_api/profile_mock_spec.rb +80 -6
  34. data/spec/sleipnir_api/profile_section_mock_spec.rb +143 -0
  35. data/spec/sleipnir_api/profile_spec.rb +191 -0
  36. data/spec/sleipnir_api/security_spec.rb +58 -0
  37. data/spec/sleipnir_api/tab_mock_spec.rb +0 -5
  38. data/spec/sleipnir_api/tab_spec.rb +27 -0
  39. data/spec/spec_helper.rb +20 -0
  40. metadata +22 -5
  41. data/helper/helper.rb +0 -3
@@ -86,6 +86,42 @@ describe SleipnirAPI::Security do
86
86
 
87
87
  end
88
88
 
89
+ it "#enable! / #disable! should update security config" do
90
+ def @security.select_enable
91
+ select{|e| e.enable? }.map{|e| e.name }
92
+ end
93
+ @security.each{|e| e.disable! }
94
+ @security.select_enable.should be_empty
95
+
96
+
97
+ @security.enable!(:java)
98
+ @security.select_enable.should == [:java]
99
+
100
+ @security.enable!(:picture, :sound, :video)
101
+ @security.select_enable.should == [:java, :picture, :sound, :video]
102
+
103
+ @security.enable!(:all)
104
+ @security.select_enable.should == @security.keys
105
+ end
106
+
107
+ it "#enable! / #disable! should update security config" do
108
+ def @security.select_enable
109
+ select{|e| e.enable? }.map{|e| e.name }
110
+ end
111
+ @security.each{|e| e.enable! }
112
+ @security.select_enable.should == @security.keys
113
+
114
+
115
+ @security.disable!(:java)
116
+ @security.select_enable.should == [:javascript, :run_activex, :download_activex, :picture, :sound, :video]
117
+
118
+ @security.disable!(:picture, :sound, :video)
119
+ @security.select_enable.should == [:javascript, :run_activex, :download_activex]
120
+
121
+ @security.disable!(:all)
122
+ @security.select_enable.should be_empty
123
+ end
124
+
89
125
  it "#enable? should return properly." do
90
126
  @security.enable?(:javascript).should be_true
91
127
  @security.enable?(:java).should be_false
@@ -96,6 +132,17 @@ describe SleipnirAPI::Security do
96
132
  @security.enable?(:video).should be_true
97
133
  end
98
134
 
135
+ it "#enable? can take multiple arguments." do
136
+ @security.enable?(:javascript, :run_activex).should be_true
137
+ @security.enable?(:javascript, :java, :sound).should be_false
138
+ @security.enable?(:sound, :video).should be_false
139
+ @security.enable?(:sound, :java).should be_false
140
+
141
+ @security.enable?(:all).should be_false
142
+ @security.enable!(:all)
143
+ @security.enable?(:all).should be_true
144
+ end
145
+
99
146
  it "#disable? should return properly." do
100
147
  @security.disable?(:javascript).should be_false
101
148
  @security.disable?(:java).should be_true
@@ -106,6 +153,17 @@ describe SleipnirAPI::Security do
106
153
  @security.disable?(:video).should be_false
107
154
  end
108
155
 
156
+ it "#disable? can take multiple arguments." do
157
+ @security.disable?(:javascript, :run_activex).should be_false
158
+ @security.disable?(:javascript, :java, :sound).should be_false
159
+ @security.disable?(:sound, :video).should be_false
160
+ @security.disable?(:sound, :java).should be_true
161
+
162
+ @security.disable?(:all).should be_false
163
+ @security.disable!(:all)
164
+ @security.disable?(:all).should be_true
165
+ end
166
+
109
167
  it "#<security> should return Security::Config." do
110
168
  @security.javascript.should be_an_instance_of(SleipnirAPI::Security::Config)
111
169
  @security.java.should be_an_instance_of(SleipnirAPI::Security::Config)
@@ -63,11 +63,6 @@ describe SleipnirAPI::Tab, "(with mock)" do
63
63
  @blank.navigate("about:foobar")
64
64
  end
65
65
 
66
- it "#search should send Search" do
67
- @mock.should_receive(:Search).with(@blank.id, "keyword")
68
- @blank.search("keyword")
69
- end
70
-
71
66
  it "#hilight should send Hilight" do
72
67
  @mock.should_receive(:Hilight).with(@blank.id, %Q,"keyword",)
73
68
  @blank.hilight("keyword")
@@ -115,4 +115,31 @@ describe SleipnirAPI::Tab do
115
115
  test.should_not == @test.id
116
116
  end
117
117
 
118
+ it "#watir should return Watir object" do
119
+ test = @pnir.get_url_tab("about:test")
120
+ test.watir.should be_an_instance_of(Watir::IE)
121
+ test.watir.instance_variable_get(:@ie).should be_an_instance_of(SleipnirAPI::TabbedIE)
122
+ end
123
+
124
+ it "#search should select matched keyword" do
125
+ t1 = @pnir.new_tab("about:foobar")
126
+ begin
127
+ t1.selection_text.should be_empty
128
+
129
+ r = t1.search("foo")
130
+ r.should be_true
131
+ t1.selection_text.should == "foo"
132
+
133
+ r = t1.search("bar")
134
+ r.should be_true
135
+ t1.selection_text.should == "bar"
136
+
137
+ r = t1.search("bar")
138
+ r.should be_false
139
+ t1.selection_text.should be_empty
140
+ ensure
141
+ t1.close(true)
142
+ end
143
+ end
144
+
118
145
  end
@@ -23,3 +23,23 @@ module OptionParserSpecHelper
23
23
  end
24
24
  end
25
25
  end
26
+
27
+
28
+ class FileSaver
29
+ def initialize(file)
30
+ @file = file
31
+ @existed = File.exist?(file)
32
+ if @existed
33
+ @content = File.read(file)
34
+ File.unlink(file)
35
+ end
36
+ end
37
+
38
+ def restore
39
+ if @existed
40
+ File.open(@file, "w") {|w| w.puts @content }
41
+ else
42
+ File.unlink(@file) if File.exist?(@file)
43
+ end
44
+ end
45
+ end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: sleipnir-api
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.2.1
7
- date: 2007-07-30 00:00:00 +09:00
6
+ version: 0.3.0
7
+ date: 2007-09-23 00:00:00 +09:00
8
8
  summary: Ruby interface to the Sleipnir.API WIN32OLE object.
9
9
  require_paths:
10
10
  - lib
@@ -37,27 +37,42 @@ files:
37
37
  - TODO.txt
38
38
  - bin/grepnir
39
39
  - examples/close_dup.rb
40
+ - examples/close_err.rb
41
+ - examples/command_list.rb
42
+ - examples/open_last_url_by_firefox.rb
43
+ - examples/open_selected_links.rb
40
44
  - examples/reload.rb
41
- - helper/helper.rb
42
45
  - helper/rake.rb
43
- - helper/rake_sh_filter.rb
44
- - helper/util.rb
46
+ - helper/rake/rake.rb
47
+ - helper/rake/rake_sh_filter.rb
48
+ - helper/rake/util.rb
45
49
  - lib/sleipnir_api.rb
46
50
  - lib/sleipnir_api/cli/base.rb
47
51
  - lib/sleipnir_api/cli/grepnir.rb
52
+ - lib/sleipnir_api/command.rb
53
+ - lib/sleipnir_api/commands.rb
48
54
  - lib/sleipnir_api/dialog.rb
49
55
  - lib/sleipnir_api/key_state.rb
50
56
  - lib/sleipnir_api/output.rb
51
57
  - lib/sleipnir_api/process.rb
52
58
  - lib/sleipnir_api/profile.rb
59
+ - lib/sleipnir_api/profile/ini.rb
60
+ - lib/sleipnir_api/profile/key.rb
61
+ - lib/sleipnir_api/profile/section.rb
62
+ - lib/sleipnir_api/profile/util.rb
53
63
  - lib/sleipnir_api/registry.rb
64
+ - lib/sleipnir_api/searcher.rb
54
65
  - lib/sleipnir_api/security.rb
55
66
  - lib/sleipnir_api/sleipnir.rb
56
67
  - lib/sleipnir_api/tab.rb
68
+ - lib/sleipnir_api/tabbed_ie.rb
57
69
  - lib/sleipnir_api/util.rb
58
70
  - lib/sleipnir_api/version.rb
59
71
  - lib/sleipnir_api/win32api.rb
72
+ - scripts/gesture2rb.rb
73
+ - scripts/make_gesture.rb
60
74
  - scripts/rdoc_filter.rb
75
+ - scripts/subcategory.csv
61
76
  - setup.rb
62
77
  - spec/dsl/behaviour_eval.rb
63
78
  - spec/matchers/exit_with.rb
@@ -67,6 +82,8 @@ files:
67
82
  - spec/sleipnir_api/key_state_mock_spec.rb
68
83
  - spec/sleipnir_api/output_spec.rb
69
84
  - spec/sleipnir_api/profile_mock_spec.rb
85
+ - spec/sleipnir_api/profile_section_mock_spec.rb
86
+ - spec/sleipnir_api/profile_spec.rb
70
87
  - spec/sleipnir_api/registry_spec.rb
71
88
  - spec/sleipnir_api/security_mock_spec.rb
72
89
  - spec/sleipnir_api/security_spec.rb
@@ -1,3 +0,0 @@
1
- require "helper/util"
2
- require "helper/rake"
3
- require "helper/rake_sh_filter"