opal-browser 0.2.0.beta1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +22 -8
  3. data/Gemfile +1 -1
  4. data/README.md +59 -5
  5. data/index.html.erb +7 -4
  6. data/lib/opal-browser.rb +1 -0
  7. data/opal-browser.gemspec +1 -1
  8. data/opal/browser.rb +1 -0
  9. data/opal/browser/animation_frame.rb +26 -1
  10. data/opal/browser/canvas.rb +0 -10
  11. data/opal/browser/canvas/data.rb +0 -10
  12. data/opal/browser/canvas/gradient.rb +0 -10
  13. data/opal/browser/canvas/style.rb +0 -10
  14. data/opal/browser/canvas/text.rb +0 -10
  15. data/opal/browser/cookies.rb +6 -8
  16. data/opal/browser/database/sql.rb +194 -0
  17. data/opal/browser/delay.rb +25 -7
  18. data/opal/browser/dom.rb +2 -11
  19. data/opal/browser/dom/attribute.rb +12 -11
  20. data/opal/browser/dom/builder.rb +4 -9
  21. data/opal/browser/dom/document.rb +105 -41
  22. data/opal/browser/dom/element.rb +317 -231
  23. data/opal/browser/dom/element/attributes.rb +87 -0
  24. data/opal/browser/dom/element/data.rb +67 -0
  25. data/opal/browser/dom/element/input.rb +12 -1
  26. data/opal/browser/dom/element/offset.rb +5 -0
  27. data/opal/browser/dom/element/position.rb +11 -2
  28. data/opal/browser/dom/element/scroll.rb +77 -10
  29. data/opal/browser/dom/element/select.rb +36 -0
  30. data/opal/browser/dom/element/size.rb +5 -0
  31. data/opal/browser/dom/element/template.rb +9 -0
  32. data/opal/browser/dom/element/textarea.rb +24 -0
  33. data/opal/browser/dom/mutation_observer.rb +2 -2
  34. data/opal/browser/dom/node.rb +93 -51
  35. data/opal/browser/dom/node_set.rb +66 -48
  36. data/opal/browser/effects.rb +11 -0
  37. data/opal/browser/{dom/event.rb → event.rb} +32 -32
  38. data/opal/browser/{dom/event → event}/animation.rb +2 -2
  39. data/opal/browser/{dom/event → event}/audio_processing.rb +2 -2
  40. data/opal/browser/{dom/event → event}/base.rb +65 -7
  41. data/opal/browser/{dom/event → event}/before_unload.rb +2 -2
  42. data/opal/browser/{dom/event → event}/clipboard.rb +2 -2
  43. data/opal/browser/{dom/event → event}/close.rb +2 -2
  44. data/opal/browser/{dom/event → event}/composition.rb +2 -2
  45. data/opal/browser/{dom/event → event}/custom.rb +2 -2
  46. data/opal/browser/{dom/event → event}/device_light.rb +2 -2
  47. data/opal/browser/{dom/event → event}/device_motion.rb +2 -2
  48. data/opal/browser/{dom/event → event}/device_orientation.rb +2 -2
  49. data/opal/browser/{dom/event → event}/device_proximity.rb +2 -2
  50. data/opal/browser/{dom/event → event}/drag.rb +2 -2
  51. data/opal/browser/{dom/event → event}/focus.rb +2 -2
  52. data/opal/browser/{dom/event → event}/gamepad.rb +2 -2
  53. data/opal/browser/{dom/event → event}/hash_change.rb +2 -2
  54. data/opal/browser/{dom/event → event}/keyboard.rb +2 -2
  55. data/opal/browser/{dom/event → event}/message.rb +2 -2
  56. data/opal/browser/{dom/event → event}/mouse.rb +2 -2
  57. data/opal/browser/{dom/event → event}/page_transition.rb +2 -2
  58. data/opal/browser/{dom/event → event}/pop_state.rb +2 -2
  59. data/opal/browser/{dom/event → event}/progress.rb +2 -2
  60. data/opal/browser/{dom/event → event}/sensor.rb +2 -2
  61. data/opal/browser/{dom/event → event}/storage.rb +2 -2
  62. data/opal/browser/{dom/event → event}/touch.rb +2 -2
  63. data/opal/browser/{dom/event → event}/ui.rb +2 -2
  64. data/opal/browser/{dom/event → event}/wheel.rb +2 -2
  65. data/opal/browser/event_source.rb +1 -1
  66. data/opal/browser/http.rb +25 -0
  67. data/opal/browser/http/binary.rb +1 -0
  68. data/opal/browser/http/headers.rb +16 -2
  69. data/opal/browser/http/request.rb +14 -38
  70. data/opal/browser/immediate.rb +9 -3
  71. data/opal/browser/interval.rb +34 -11
  72. data/opal/browser/navigator.rb +23 -4
  73. data/opal/browser/screen.rb +1 -1
  74. data/opal/browser/socket.rb +5 -1
  75. data/opal/browser/storage.rb +51 -33
  76. data/opal/browser/support.rb +59 -4
  77. data/opal/browser/version.rb +1 -1
  78. data/opal/browser/window.rb +17 -9
  79. data/opal/browser/window/size.rb +17 -3
  80. data/opal/opal-browser.rb +1 -0
  81. data/spec/database/sql_spec.rb +131 -0
  82. data/spec/delay_spec.rb +38 -0
  83. data/spec/dom/attribute_spec.rb +49 -0
  84. data/spec/dom/builder_spec.rb +25 -8
  85. data/spec/dom/document_spec.rb +20 -0
  86. data/spec/dom/element/attributes_spec.rb +52 -0
  87. data/spec/dom/element_spec.rb +139 -4
  88. data/spec/dom/node_set_spec.rb +44 -0
  89. data/spec/interval_spec.rb +50 -0
  90. data/spec/runner.rb +46 -28
  91. data/spec/socket_spec.rb +1 -0
  92. data/spec/spec_helper.rb +0 -4
  93. data/spec/storage_spec.rb +1 -1
  94. metadata +57 -39
  95. data/opal/browser/http/parameters.rb +0 -8
@@ -1,14 +1,40 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Browser::DOM::Element do
4
+ DOM = Browser::DOM
5
+
4
6
  describe '#id' do
5
7
  html <<-HTML
6
- <div id="lol"></div>
8
+ <div id="lol"><div class="wut"></div></div>
7
9
  HTML
8
10
 
9
11
  it 'gets the proper id' do
10
12
  expect($document["lol"].id).to eq('lol')
11
13
  end
14
+
15
+ it 'returns nil when there is no id' do
16
+ expect($document["#lol .wut"].id).to be_nil
17
+ end
18
+ end
19
+
20
+ describe '#id=' do
21
+ html <<-HTML
22
+ <div id="lol"></div>
23
+ HTML
24
+
25
+ it 'sets the id' do
26
+ el = $document["lol"]
27
+ el.id = 'wut'
28
+
29
+ expect(el.id).to eq('wut')
30
+ end
31
+
32
+ it 'removes the id when the value is nil' do
33
+ el = $document["lol"]
34
+ el.id = nil
35
+
36
+ expect(el.id).to be_nil
37
+ end
12
38
  end
13
39
 
14
40
  describe '#class_names' do
@@ -28,7 +54,7 @@ describe Browser::DOM::Element do
28
54
  end
29
55
  end
30
56
 
31
- describe '#matches?' do
57
+ describe '#=~' do
32
58
  html <<-HTML
33
59
  <div id="matches" class="not me">
34
60
  <span class="yes me"></span>
@@ -36,11 +62,120 @@ describe Browser::DOM::Element do
36
62
  HTML
37
63
 
38
64
  it 'matches on class and id' do
39
- expect($document[:matches].matches?('#matches.not.me')).to be_truthy
65
+ expect($document[:matches] =~ '#matches.not.me').to be_truthy
40
66
  end
41
67
 
42
68
  it 'matches on class and name' do
43
- expect($document[:matches].first_element_child.matches?('span.yes')).to be_truthy
69
+ expect($document[:matches].first_element_child =~ 'span.yes').to be_truthy
70
+ end
71
+ end
72
+
73
+ describe '#inner_dom' do
74
+ html <<-HTML
75
+ <div id="lol">
76
+ <div id="wut"></div>
77
+ </div>
78
+ HTML
79
+
80
+ it 'builds the DOM and inserts it' do
81
+ $document["lol"].inner_dom {
82
+ div.omg!
83
+ }
84
+
85
+ expect($document["#lol #omg"]).to be_truthy
86
+ expect($document["#lol #wut"]).to be_falsy
87
+ end
88
+ end
89
+
90
+ describe '#inspect' do
91
+ it 'uses the node name' do
92
+ el = $document.create_element('div')
93
+
94
+ expect(el.inspect).to match(/: div>/)
95
+ end
96
+
97
+ it 'uses the id' do
98
+ el = $document.create_element('div')
99
+ el.id = 'lol'
100
+
101
+ expect(el.inspect).to match(/: div.lol!>/)
102
+ end
103
+
104
+ it 'uses the classes' do
105
+ el = $document.create_element('div')
106
+ el.add_class 'lol', 'wut'
107
+
108
+ expect(el.inspect).to match(/: div.lol.wut>/)
109
+ end
110
+
111
+ it 'uses the id and the classes' do
112
+ el = $document.create_element('div')
113
+ el.id = 'omg'
114
+ el.add_class 'lol', 'wut'
115
+
116
+ expect(el.inspect).to match(/: div.omg!.lol.wut>/)
117
+ end
118
+ end
119
+
120
+ describe '#[]' do
121
+ html <<-HTML
122
+ <label id="lol" class="name" for="hue"></label>
123
+ HTML
124
+
125
+ it 'gets an attribute' do
126
+ expect($document[:lol][:id]).to eq(:lol)
127
+ end
128
+
129
+ it 'gets the class attribute' do
130
+ expect($document[:lol][:class]).to eq(:name)
131
+ end
132
+
133
+ it 'gets the for attribute' do
134
+ expect($document[:lol][:for]).to eq(:hue)
135
+ end
136
+ end
137
+
138
+ describe '#[]=' do
139
+ html <<-HTML
140
+ <label id="lol" class="name" for="hue"></label>
141
+ HTML
142
+
143
+ it 'sets an attribute' do
144
+ $document[:lol][:a] = :foo
145
+
146
+ expect($document[:lol][:a]).to eq(:foo)
147
+ end
148
+
149
+ it 'sets the class attribute' do
150
+ $document[:lol][:class] = :bar
151
+
152
+ expect($document[:lol][:class]).to eq(:bar)
153
+ end
154
+
155
+ it 'sets the for attribute' do
156
+ $document[:lol][:for] = :baz
157
+
158
+ expect($document[:lol][:for]).to eq(:baz)
159
+ end
160
+ end
161
+
162
+ describe '#at_css' do
163
+ html <<-HTML
164
+ <label id="lol" class="name" for="hue"></label>
165
+ HTML
166
+
167
+ it 'checks for all the selectors' do
168
+ expect($document.at_css('div', 'span', '#lol')).to be_a(DOM::Element)
169
+ end
170
+ end
171
+
172
+ describe '#at_xpath' do
173
+ html <<-HTML
174
+ <label id="lol" class="name" for="hue"></label>
175
+ HTML
176
+
177
+ it 'checks for all the paths' do
178
+ expect($document.at_xpath('//div', '//span', '//[@id="lol"]')).to be_a(DOM::Element)
44
179
  end
45
180
  end
46
181
  end
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ describe Browser::DOM::NodeSet do
4
+ NodeSet = Browser::DOM::NodeSet
5
+
6
+ html <<-HTML
7
+ <div id="lol">
8
+ <div class="a">
9
+ <div class="a-a"></div>
10
+ </div>
11
+
12
+ <div class="b"></div>
13
+ <div class="c"></div>
14
+
15
+ <div class="d">
16
+ <div class="d-a"></div>
17
+ </div>
18
+ </div>
19
+ HTML
20
+
21
+ describe '.[]' do
22
+ it 'flattens the nodes' do
23
+ set = NodeSet[[[$document["#lol .a"]]], [[$document["#lol .c"]]]]
24
+
25
+ expect(set[0]).to eq($document["#lol .a"])
26
+ expect(set[1]).to eq($document["#lol .c"])
27
+ end
28
+
29
+ it 'converts the items to DOM' do
30
+ set = NodeSet[`document.getElementById("lol")`]
31
+
32
+ expect(set[0]).to eq($document["#lol"])
33
+ end
34
+ end
35
+
36
+ describe '#filter' do
37
+ it 'filters the set with the given expression' do
38
+ set = $document["lol"].children.filter('.a, .c')
39
+
40
+ expect(set[0]).to eq($document["#lol .a"])
41
+ expect(set[1]).to eq($document["#lol .c"])
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+ require 'browser/interval'
3
+
4
+ describe Browser::Window do
5
+ describe '#every' do
6
+ async 'calls the block multiple times' do
7
+ x = 0
8
+
9
+ $window.every 0.3 do
10
+ x += 1
11
+
12
+ async {
13
+ expect(true).to be_truthy
14
+ } if x == 3
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ describe Kernel do
21
+ describe '#every' do
22
+ async 'calls the block multiple times' do
23
+ x = 0
24
+
25
+ every 0.3 do
26
+ x += 1
27
+
28
+ async {
29
+ expect(true).to be_truthy
30
+ } if x == 3
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ describe Proc do
37
+ describe '#every' do
38
+ async 'calls the block multiple times' do
39
+ x = 0
40
+
41
+ -> {
42
+ x += 1
43
+
44
+ async {
45
+ expect(true).to be_truthy
46
+ } if x == 3
47
+ }.every 0.3
48
+ end
49
+ end
50
+ end
@@ -5,15 +5,17 @@ require 'json'
5
5
 
6
6
  # setup tunnel
7
7
  begin
8
- File.open('tunnel.jar', 'w') {|f|
8
+ File.open('BrowserStackTunnel.jar', 'w') {|f|
9
9
  f.write RestClient.get('http://www.browserstack.com/BrowserStackTunnel.jar').to_str
10
10
  }
11
11
 
12
- tunnel = IO.popen 'java -jar tunnel.jar $BS_AUTHKEY localhost,9292,0 -tunnelIdentifier $TRAVIS_JOB_ID'
12
+ tunnel = IO.popen 'java -jar BrowserStackTunnel.jar $BS_AUTHKEY localhost,9292,0 -tunnelIdentifier $TRAVIS_JOB_ID'
13
13
 
14
14
  loop do
15
15
  break if tunnel.gets.start_with? 'You can now access'
16
16
  end
17
+ rescue
18
+ retry
17
19
  end
18
20
 
19
21
  # configure based on environment variables
@@ -24,10 +26,16 @@ cap = Selenium::WebDriver::Remote::Capabilities.new
24
26
  cap['platform'] = ENV['SELENIUM_PLATFORM'] || 'ANY'
25
27
  cap['browser'] = ENV['SELENIUM_BROWSER'] || 'chrome'
26
28
  cap['browser_version'] = ENV['SELENIUM_VERSION'] if ENV['SELENIUM_VERSION']
29
+ cap['device'] = ENV['SELENIUM_DEVICE'] if ENV['SELENIUM_DEVICE']
27
30
 
28
31
  cap['browserstack.tunnelIdentifier'] = ENV['TRAVIS_JOB_ID']
29
- cap['browserstack.tunnel'] = 'true'
30
- cap['browserstack.debug'] = 'false'
32
+ cap['browserstack.tunnel'] = true
33
+ cap['browserstack.debug'] = true
34
+
35
+ cap['databaseEnabled'] = true
36
+ cap['browserConnectionEnabled'] = true
37
+ cap['locationContextEnabled'] = true
38
+ cap['webStorageEnabled'] = true
31
39
 
32
40
  print 'Loading...'
33
41
 
@@ -82,33 +90,43 @@ rescue Selenium::WebDriver::Error::TimeOutError; end
82
90
 
83
91
  print "\rRunning specs..."
84
92
 
85
- # wait until the specs have finished, thus changing the content of #totals
86
- Selenium::WebDriver::Wait.new(timeout: 1200, interval: 30).until {
87
- print '.'
93
+ begin
94
+ # wait until the specs have finished, thus changing the content of #totals
95
+ Selenium::WebDriver::Wait.new(timeout: 1200, interval: 30).until {
96
+ print '.'
88
97
 
89
- not browser['totals'].text.strip.empty?
90
- }
98
+ not browser['totals'].text.strip.empty?
99
+ }
91
100
 
92
- totals = browser['totals'].text
93
- duration = browser[css: '#duration strong'].text
101
+ totals = browser['totals'].text
102
+ duration = browser[css: '#duration strong'].text
94
103
 
95
- print "\r#{totals} in #{duration}"
104
+ print "\r#{totals} in #{duration}"
96
105
 
97
- # take a screenshot and upload it to imgur
98
- begin
99
- browser.save_screenshot('screenshot.png')
100
- response = RestClient.post('https://api.imgur.com/3/upload',
101
- { image: File.open('screenshot.png') },
102
- { 'Authorization' => 'Client-ID 1979876fe2a097e' })
103
-
104
- print " ("
105
- print JSON.parse(response.to_str)['data']['link']
106
- puts ")"
107
- rescue Exception
108
- puts
106
+ # no failures, happy times
107
+ if totals =~ / 0 failures/
108
+ exit 0
109
+ end
110
+ rescue Selenium::WebDriver::Error::TimeOutError
111
+ if element = browser['rspec-error'] rescue nil
112
+ print "\r#{element.text}"
113
+ else
114
+ print "\rThe specs have timed out."
115
+ end
116
+ ensure
117
+ # take a screenshot and upload it to imgur
118
+ begin
119
+ browser.save_screenshot('screenshot.png')
120
+ response = RestClient.post('https://api.imgur.com/3/upload',
121
+ { image: File.open('screenshot.png') },
122
+ { 'Authorization' => 'Client-ID 1979876fe2a097e' })
123
+
124
+ print " ("
125
+ print JSON.parse(response.to_str)['data']['link']
126
+ puts ")"
127
+ rescue Exception
128
+ puts
129
+ end
109
130
  end
110
131
 
111
- # no failures, happy times
112
- unless totals =~ / 0 failures/
113
- exit 1
114
- end
132
+ exit 1
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require 'browser/location'
2
3
  require 'browser/socket'
3
4
 
4
5
  describe Browser::Socket do
@@ -1,7 +1,3 @@
1
- require 'json2'
2
- require 'sizzle'
3
- require 'wgxpath.install'
4
-
5
1
  require 'browser'
6
2
  require 'browser/console'
7
3
 
@@ -22,5 +22,5 @@ describe Browser::Window do
22
22
  expect($window.session_storage.name).to eq(:default)
23
23
  expect($window.session_storage(:spec).name).to eq(:spec)
24
24
  end
25
- end
25
+ end if Browser::SessionStorage.supported?
26
26
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal-browser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.beta1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - meh.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-28 00:00:00.000000000 Z
11
+ date: 2015-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opal
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.6.0
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.6.0
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: paggio
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,6 +53,7 @@ files:
53
53
  - Rakefile
54
54
  - config.ru
55
55
  - index.html.erb
56
+ - lib/opal-browser.rb
56
57
  - lib/opal/browser.rb
57
58
  - opal-browser.gemspec
58
59
  - opal/browser.rb
@@ -70,6 +71,7 @@ files:
70
71
  - opal/browser/css/rule/style.rb
71
72
  - opal/browser/css/style_sheet.rb
72
73
  - opal/browser/css/unit.rb
74
+ - opal/browser/database/sql.rb
73
75
  - opal/browser/delay.rb
74
76
  - opal/browser/dom.rb
75
77
  - opal/browser/dom/attribute.rb
@@ -80,51 +82,55 @@ files:
80
82
  - opal/browser/dom/document.rb
81
83
  - opal/browser/dom/document_fragment.rb
82
84
  - opal/browser/dom/element.rb
85
+ - opal/browser/dom/element/attributes.rb
86
+ - opal/browser/dom/element/data.rb
83
87
  - opal/browser/dom/element/image.rb
84
88
  - opal/browser/dom/element/input.rb
85
89
  - opal/browser/dom/element/offset.rb
86
90
  - opal/browser/dom/element/position.rb
87
91
  - opal/browser/dom/element/scroll.rb
92
+ - opal/browser/dom/element/select.rb
88
93
  - opal/browser/dom/element/size.rb
89
- - opal/browser/dom/event.rb
90
- - opal/browser/dom/event/animation.rb
91
- - opal/browser/dom/event/audio_processing.rb
92
- - opal/browser/dom/event/base.rb
93
- - opal/browser/dom/event/before_unload.rb
94
- - opal/browser/dom/event/clipboard.rb
95
- - opal/browser/dom/event/close.rb
96
- - opal/browser/dom/event/composition.rb
97
- - opal/browser/dom/event/custom.rb
98
- - opal/browser/dom/event/device_light.rb
99
- - opal/browser/dom/event/device_motion.rb
100
- - opal/browser/dom/event/device_orientation.rb
101
- - opal/browser/dom/event/device_proximity.rb
102
- - opal/browser/dom/event/drag.rb
103
- - opal/browser/dom/event/focus.rb
104
- - opal/browser/dom/event/gamepad.rb
105
- - opal/browser/dom/event/hash_change.rb
106
- - opal/browser/dom/event/keyboard.rb
107
- - opal/browser/dom/event/message.rb
108
- - opal/browser/dom/event/mouse.rb
109
- - opal/browser/dom/event/page_transition.rb
110
- - opal/browser/dom/event/pop_state.rb
111
- - opal/browser/dom/event/progress.rb
112
- - opal/browser/dom/event/sensor.rb
113
- - opal/browser/dom/event/storage.rb
114
- - opal/browser/dom/event/touch.rb
115
- - opal/browser/dom/event/ui.rb
116
- - opal/browser/dom/event/wheel.rb
94
+ - opal/browser/dom/element/template.rb
95
+ - opal/browser/dom/element/textarea.rb
117
96
  - opal/browser/dom/mutation_observer.rb
118
97
  - opal/browser/dom/node.rb
119
98
  - opal/browser/dom/node_set.rb
120
99
  - opal/browser/dom/text.rb
121
100
  - opal/browser/effects.rb
101
+ - opal/browser/event.rb
102
+ - opal/browser/event/animation.rb
103
+ - opal/browser/event/audio_processing.rb
104
+ - opal/browser/event/base.rb
105
+ - opal/browser/event/before_unload.rb
106
+ - opal/browser/event/clipboard.rb
107
+ - opal/browser/event/close.rb
108
+ - opal/browser/event/composition.rb
109
+ - opal/browser/event/custom.rb
110
+ - opal/browser/event/device_light.rb
111
+ - opal/browser/event/device_motion.rb
112
+ - opal/browser/event/device_orientation.rb
113
+ - opal/browser/event/device_proximity.rb
114
+ - opal/browser/event/drag.rb
115
+ - opal/browser/event/focus.rb
116
+ - opal/browser/event/gamepad.rb
117
+ - opal/browser/event/hash_change.rb
118
+ - opal/browser/event/keyboard.rb
119
+ - opal/browser/event/message.rb
120
+ - opal/browser/event/mouse.rb
121
+ - opal/browser/event/page_transition.rb
122
+ - opal/browser/event/pop_state.rb
123
+ - opal/browser/event/progress.rb
124
+ - opal/browser/event/sensor.rb
125
+ - opal/browser/event/storage.rb
126
+ - opal/browser/event/touch.rb
127
+ - opal/browser/event/ui.rb
128
+ - opal/browser/event/wheel.rb
122
129
  - opal/browser/event_source.rb
123
130
  - opal/browser/history.rb
124
131
  - opal/browser/http.rb
125
132
  - opal/browser/http/binary.rb
126
133
  - opal/browser/http/headers.rb
127
- - opal/browser/http/parameters.rb
128
134
  - opal/browser/http/request.rb
129
135
  - opal/browser/http/response.rb
130
136
  - opal/browser/immediate.rb
@@ -141,17 +147,24 @@ files:
141
147
  - opal/browser/window/scroll.rb
142
148
  - opal/browser/window/size.rb
143
149
  - opal/browser/window/view.rb
150
+ - opal/opal-browser.rb
151
+ - spec/database/sql_spec.rb
152
+ - spec/delay_spec.rb
153
+ - spec/dom/attribute_spec.rb
144
154
  - spec/dom/builder_spec.rb
145
155
  - spec/dom/document_spec.rb
156
+ - spec/dom/element/attributes_spec.rb
146
157
  - spec/dom/element_spec.rb
147
158
  - spec/dom/event_spec.rb
148
159
  - spec/dom/mutation_observer_spec.rb
160
+ - spec/dom/node_set_spec.rb
149
161
  - spec/dom/node_spec.rb
150
162
  - spec/dom_spec.rb
151
163
  - spec/event_source_spec.rb
152
164
  - spec/history_spec.rb
153
165
  - spec/http_spec.rb
154
166
  - spec/immediate_spec.rb
167
+ - spec/interval_spec.rb
155
168
  - spec/json2.js
156
169
  - spec/runner.rb
157
170
  - spec/sizzle.js
@@ -175,27 +188,33 @@ required_ruby_version: !ruby/object:Gem::Requirement
175
188
  version: '0'
176
189
  required_rubygems_version: !ruby/object:Gem::Requirement
177
190
  requirements:
178
- - - ">"
191
+ - - ">="
179
192
  - !ruby/object:Gem::Version
180
- version: 1.3.1
193
+ version: '0'
181
194
  requirements: []
182
195
  rubyforge_project:
183
- rubygems_version: 2.2.0
196
+ rubygems_version: 2.4.5
184
197
  signing_key:
185
198
  specification_version: 4
186
199
  summary: Browser support for Opal.
187
200
  test_files:
201
+ - spec/database/sql_spec.rb
202
+ - spec/delay_spec.rb
203
+ - spec/dom/attribute_spec.rb
188
204
  - spec/dom/builder_spec.rb
189
205
  - spec/dom/document_spec.rb
206
+ - spec/dom/element/attributes_spec.rb
190
207
  - spec/dom/element_spec.rb
191
208
  - spec/dom/event_spec.rb
192
209
  - spec/dom/mutation_observer_spec.rb
210
+ - spec/dom/node_set_spec.rb
193
211
  - spec/dom/node_spec.rb
194
212
  - spec/dom_spec.rb
195
213
  - spec/event_source_spec.rb
196
214
  - spec/history_spec.rb
197
215
  - spec/http_spec.rb
198
216
  - spec/immediate_spec.rb
217
+ - spec/interval_spec.rb
199
218
  - spec/json2.js
200
219
  - spec/runner.rb
201
220
  - spec/sizzle.js
@@ -204,4 +223,3 @@ test_files:
204
223
  - spec/storage_spec.rb
205
224
  - spec/wgxpath.install.js
206
225
  - spec/window_spec.rb
207
- has_rdoc: