touch_action 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82ee1d3a90e1ca9e06b82b6a4b71b597c6baf5a1
4
- data.tar.gz: d8e5b90ae5abfd37fd42bb6f7df90e427f32d0da
3
+ metadata.gz: ac69e5fc03cafbb3f96364acbd76a79e019f9d8c
4
+ data.tar.gz: c03002404832e2f0db41aa555d9b78e1cb2a41d0
5
5
  SHA512:
6
- metadata.gz: f8dc130beeb23e82ac238cb02e86abdd44a2184f9d483ed5114070f8044ac33dc7e693ce4a83097c0fbb536af806a2fabf28b69293f0ddcfc1c295a540b665c2
7
- data.tar.gz: 19fd3f00fb2a2165e53dc665960d44878602fcadf9cd1ea0490e010bf28610c4f25c1f7f6d1384cca8b57d84bc3849f83242393c80d69db26e934adc526055be
6
+ metadata.gz: 6b14239c58b2950a8e6e68b9c6eb02d4f70b1095579d42ff4d6ad78f5a5d150b6f3708766226544ef534527e372d5da8d553766e039f73658a1a0defbe0ddf94
7
+ data.tar.gz: 2c139c4b07ae7003ea18aa083d3acf0d888386274365ce563f12f5f13eba1ba4cc836df17bbfa8721237fd441ee3e015b50c918f7c012a49a0ea966a15424f12
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## v1.1.0
2
+
3
+ * fully refactored
4
+ * added support to capybara
5
+
6
+ ## v1.0.0
7
+
8
+ * stable version
9
+
1
10
  ## v0.0.2alpha
2
11
 
3
12
  * fixed methods that didn't received a parameter
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  [![Build Status](https://travis-ci.org/Ricardonacif/touch_action.svg?branch=master)](https://travis-ci.org/Ricardonacif/touch_action)
3
3
  [![Code Climate](https://codeclimate.com/github/Ricardonacif/touch_action/badges/gpa.svg)](https://codeclimate.com/github/Ricardonacif/touch_action)
4
4
 
5
- Touch Action is a Ruby Gem used to add touch gestures simulation to the Watir-WebDriver and Selenium-WebDriver in order to perform automated tests on mobile websites that requires those type of actions. It encapsulates the touch action library of [YUI JS](http://yuilibrary.com/yui/docs/event/simulate.html#simulating-touch-gestures). Very useful for example when testing mobile websites using [Appium](http://appium.io).
5
+ Touch Action is a Ruby Gem used to add touch gestures simulation to the Watir-WebDriver, Selenium-WebDriver anc Capybara in order to perform automated tests on (mobile and desktops) websites that requires those type of actions. It encapsulates the touch action library of [YUI JS](http://yuilibrary.com/yui/docs/event/simulate.html#simulating-touch-gestures). Very useful for example when testing mobile websites using [Appium](http://appium.io).
6
6
 
7
7
  ## Installation
8
8
 
@@ -44,6 +44,17 @@ It's currently supporting the gestures bellow. The only required argument is the
44
44
 
45
45
  element.touch_action(:rotate, {rotation: -75})
46
46
 
47
+ ```
48
+ ###Capybara and RSpec
49
+
50
+ To use it with Capybara and Rspec, just do the following:
51
+
52
+ ```ruby
53
+ it "should tap using capybara", js: true do
54
+ visit('http://mywebsite.com')
55
+ touch_action '#myElement', :tap #it will also accept options here
56
+ end
57
+
47
58
  ```
48
59
  For more information about how those methods work, please check the [YUI Documentation](http://yuilibrary.com/yui/docs/event/simulate.html#simulating-touch-gestures).
49
60
 
@@ -0,0 +1,19 @@
1
+ require 'capybara'
2
+ require "touch_action/script_generator"
3
+
4
+ module TouchAction
5
+ module Capybara
6
+ module RspecHelper
7
+
8
+ def touch_action locator, *args
9
+ final_script = TouchAction::ScriptGenerator.generate_javascript(*args)
10
+ page.driver.browser.execute_script( final_script, locator )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+
17
+ RSpec.configure do |config|
18
+ config.include TouchAction::Capybara::RspecHelper, :type => :feature
19
+ end
@@ -0,0 +1,47 @@
1
+ (function( touch_action, $, undefined ) {
2
+
3
+ // private property
4
+ var execute_gesture = function() {
5
+ YUI().use('node-event-simulate', function(Y) {
6
+
7
+ var node = Y.one(touch_action.element);
8
+ node.simulateGesture(touch_action.gesture, touch_action.options);
9
+
10
+ });
11
+ };
12
+
13
+ // private method
14
+ function loadYui() {
15
+
16
+ var head = document.getElementsByTagName('head')[0];
17
+ var script = document.createElement('script');
18
+ script.type = 'text/javascript';
19
+ script.src = "//yui.yahooapis.com/3.18.1/build/yui/yui-min.js";
20
+
21
+ script.onreadystatechange = execute_gesture;
22
+ script.onload = execute_gesture;
23
+
24
+ head.appendChild(script);
25
+
26
+ };
27
+ // public method
28
+ touch_action.perform = function() {
29
+
30
+ if (typeof YUI == 'undefined') {
31
+ loadYui();
32
+ } else {
33
+ execute_gesture();
34
+ };
35
+
36
+ };
37
+
38
+
39
+ }( window.touch_action = window.touch_action || {} ));
40
+
41
+ touch_action.element = arguments[0];
42
+
43
+ touch_action.gesture = "<%=gesture%>";
44
+
45
+ touch_action.options = <%=options.to_json%>;
46
+
47
+ touch_action.perform();
@@ -0,0 +1,32 @@
1
+ require 'erb'
2
+ require 'ostruct'
3
+
4
+ module TouchAction
5
+ class ScriptGenerator
6
+ ACTIONS_WITH_DEFAULT_OPTIONS = {
7
+ tap: {},
8
+ doubletap: {},
9
+ flick: {axis: 'x', distance: 100, duration: 500},
10
+ pinch: {r1: 50, r2: 100},
11
+ press: {hold: 2000},
12
+ move: {path: {xdist: 70, ydist: -50}, duration: 500},
13
+ rotate: {rotation: -75}
14
+ }
15
+
16
+ def self.generate_javascript action, options = {}
17
+ action = :flick if action == :swipe
18
+ raise ArgumentError, "The touch action #{action} doesn't exist" unless ACTIONS_WITH_DEFAULT_OPTIONS[action]
19
+ script = File.read(File.expand_path("../javascripts/touch_action.js.erb", __FILE__))
20
+ default_options = ACTIONS_WITH_DEFAULT_OPTIONS[action]
21
+ arguments = {gesture: action.to_s, options: default_options.merge(options)}
22
+ render_erb(script, arguments)
23
+ end
24
+
25
+ private
26
+
27
+ def self.render_erb template, vars = {}
28
+ ERB.new(template).result(OpenStruct.new(vars).instance_eval { binding })
29
+ end
30
+
31
+ end
32
+ end
@@ -0,0 +1,15 @@
1
+ require 'selenium-webdriver'
2
+ require "touch_action/script_generator"
3
+
4
+ module TouchAction
5
+ module SeleniumWebdriver
6
+
7
+ def touch_action *args
8
+ final_script = TouchAction::ScriptGenerator.generate_javascript(*args)
9
+ bridge.executeScript( final_script, self )
10
+ end
11
+
12
+ end
13
+ end
14
+
15
+ Selenium::WebDriver::Element.class_eval { include TouchAction::SeleniumWebdriver }
@@ -1,3 +1,3 @@
1
1
  module TouchAction
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -0,0 +1,14 @@
1
+ require 'watir-webdriver'
2
+ require "touch_action/script_generator"
3
+
4
+ module TouchAction
5
+ module WatirWebdriver
6
+ def touch_action *args
7
+ final_script = TouchAction::ScriptGenerator.generate_javascript(*args)
8
+ browser.execute_script( final_script, self )
9
+ end
10
+ end
11
+
12
+ end
13
+
14
+ Watir::Element.class_eval { include TouchAction::WatirWebdriver }
data/lib/touch_action.rb CHANGED
@@ -1,54 +1,13 @@
1
- require 'erb'
2
- require 'ostruct'
3
1
  require "touch_action/version"
4
2
 
5
3
  if Gem::Specification::find_all_by_name('watir-webdriver').any?
6
- require 'watir-webdriver'
7
- elsif Gem::Specification::find_all_by_name('selenium-webdriver').any?
8
- require 'selenium-webdriver'
9
- end
10
-
11
-
12
- module TouchAction
13
-
14
- ACTIONS_WITH_DEFAULT_OPTIONS = {
15
- tap: {},
16
- doubletap: {},
17
- flick: {axis: 'x', distance: 100, duration: 50},
18
- pinch: {r1: 50, r2: 100},
19
- press: {hold: 2000},
20
- move: {xdist: 70, ydist: -50, duration: 500},
21
- rotate: {rotation: -75}
22
- }
23
-
24
- def touch_action action, options = {}
25
- action = :flick if action == :swipe
26
- raise ArgumentError, "The touch action #{action} doesn't exist" unless ACTIONS_WITH_DEFAULT_OPTIONS[action]
27
- default_options = ACTIONS_WITH_DEFAULT_OPTIONS[action]
28
- options = default_options.merge options
29
- script = File.read(File.expand_path("../touch_action/javascripts/#{action.to_s}.js.erb", __FILE__))
30
- final_script = render_erb(script, options)
31
- if self.class == Selenium::WebDriver::Element
32
- bridge.executeScript( final_script, self )
33
- else
34
- browser.execute_script( final_script, self )
35
- end
36
- end
37
-
38
- private
39
-
40
- def render_erb template, vars = {}
41
- ERB.new(template).result(OpenStruct.new(vars).instance_eval { binding })
42
- end
4
+ require 'touch_action/watir-webdriver'
5
+ end
43
6
 
7
+ if Gem::Specification::find_all_by_name('selenium-webdriver').any?
8
+ require 'touch_action/selenium-webdriver'
44
9
  end
45
10
 
46
- if Gem::Specification::find_all_by_name('watir-webdriver').any?
47
- Watir::Element.class_eval { include TouchAction }
48
- elsif Gem::Specification::find_all_by_name('selenium-webdriver').any?
49
- Selenium::WebDriver::Element.class_eval { include TouchAction }
50
- end
51
-
52
-
53
-
54
-
11
+ if Gem::Specification::find_all_by_name('capybara').any?
12
+ require 'touch_action/capybara_rspec_helper'
13
+ end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe TouchAction do
4
- describe "Tap" do
4
+ describe "Tap", type: :feature do
5
5
  it 'should tap the div bound by HammerJS' do
6
6
  @browser.goto('http://localhost:9292/tap')
7
7
  element = @browser.div(id: 'myElement')
@@ -16,5 +16,13 @@ RSpec.describe TouchAction do
16
16
  sleep(5)
17
17
  expect(@browser.p(id: 'fast-click-test').text).to include('1 times')
18
18
  end
19
+
20
+ it "should tap using webdriver capybara", js: true, use_webdriver: :capybara do
21
+ visit('http://localhost:9292/tap')
22
+ touch_action '#myElement', :tap
23
+ sleep(5)
24
+ expect(find("#myElement").text).to include('tap')
25
+ end
26
+
19
27
  end
20
- end
28
+ end
data/spec/spec_helper.rb CHANGED
@@ -4,6 +4,8 @@ require 'rack'
4
4
  require 'thin'
5
5
  require 'touch_action'
6
6
  require 'watir-webdriver'
7
+ require 'capybara'
8
+ require 'capybara/rspec'
7
9
 
8
10
  Dir["./spec/support/**/*.rb"].sort.each { |f| require f}
9
11
 
@@ -43,12 +45,18 @@ ENV['browser'] ||= 'firefox'
43
45
 
44
46
  RSpec.configure do |config|
45
47
 
46
- config.before(:each) do
48
+ config.before(:each) do |example|
47
49
  if ENV['platform']
48
50
  @browser = Watir::Browser.new(Selenium::WebDriver.for(:remote, :desired_capabilities => capabilities, :url => ENV['appium_url']))
49
51
  else
50
- @browser = Watir::Browser.new ENV['browser']
51
- # @browser = Selenium::WebDriver.for :firefox
52
+ case example.metadata[:use_webdriver]
53
+ when :selenium
54
+ @browser = Selenium::WebDriver.for :firefox
55
+ when :capybara
56
+ #do nothing
57
+ else
58
+ @browser = Watir::Browser.new ENV['browser']
59
+ end
52
60
  end
53
61
  end
54
62
  config.after(:each) do
@@ -0,0 +1,8 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe TouchAction::Capybara::RspecHelper, type: :feature do
4
+ it 'should respond to the method touch_action', js: true, use_webdriver: :capybara do
5
+ visit('http://localhost:9292')
6
+ expect(self).to respond_to(:touch_action)
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Selenium::WebDriver::Element do
4
+ describe "Selenium::WebDriver instance" do
5
+ it 'should respond to the method touch_action', use_webdriver: :selenium do
6
+ @browser.navigate.to('http://localhost:9292')
7
+ element = @browser.find_element(:id, 'hit')
8
+ expect(element).to respond_to(:touch_action)
9
+ end
10
+ end
11
+ end
@@ -5,7 +5,7 @@ RSpec.describe Watir::Element do
5
5
  it 'should respond to the method touch_action' do
6
6
  @browser.goto('http://localhost:9292')
7
7
  element = @browser.div(id: 'hit')
8
- expect(element.respond_to?(:touch_action)).to be_equal(true)
8
+ expect(element).to respond_to(:touch_action)
9
9
  end
10
10
  end
11
11
  end
data/touch_action.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = TouchAction::VERSION
9
9
  spec.authors = ["Ricardo Nacif"]
10
10
  spec.email = ["nacif.ricardo@gmail.com"]
11
- spec.summary = "Adds touch gestures to Watir-WebDriver and Selenium-WebDriver using YUI JS."
12
- spec.description = "Adds touch gestures to Watir and Selenium using YUI JS."
11
+ spec.summary = "Adds touch gestures simulation to Watir-WebDriver, Selenium-WebDriver and Capybara using YUI JS."
12
+ spec.description = "Adds touch gestures simulation to Watir, Selenium and Capybara using YUI JS."
13
13
  spec.homepage = "https://github.com/Ricardonacif/touch_action"
14
14
  spec.license = "MIT"
15
15
 
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_development_dependency "watir-webdriver"
22
+ spec.add_development_dependency "capybara"
22
23
 
23
24
  spec.add_development_dependency "bundler", "~> 1.7"
24
25
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: touch_action
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ricardo Nacif
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-22 00:00:00.000000000 Z
11
+ date: 2015-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: watir-webdriver
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: capybara
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,7 +122,8 @@ dependencies:
108
122
  - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
- description: Adds touch gestures to Watir and Selenium using YUI JS.
125
+ description: Adds touch gestures simulation to Watir, Selenium and Capybara using
126
+ YUI JS.
112
127
  email:
113
128
  - nacif.ricardo@gmail.com
114
129
  executables: []
@@ -124,14 +139,12 @@ files:
124
139
  - README.md
125
140
  - Rakefile
126
141
  - lib/touch_action.rb
127
- - lib/touch_action/javascripts/doubletap.js.erb
128
- - lib/touch_action/javascripts/flick.js.erb
129
- - lib/touch_action/javascripts/move.js.erb
130
- - lib/touch_action/javascripts/pinch.js.erb
131
- - lib/touch_action/javascripts/press.js.erb
132
- - lib/touch_action/javascripts/rotate.js.erb
133
- - lib/touch_action/javascripts/tap.js.erb
142
+ - lib/touch_action/capybara_rspec_helper.rb
143
+ - lib/touch_action/javascripts/touch_action.js.erb
144
+ - lib/touch_action/script_generator.rb
145
+ - lib/touch_action/selenium-webdriver.rb
134
146
  - lib/touch_action/version.rb
147
+ - lib/touch_action/watir-webdriver.rb
135
148
  - spec/features/doubletap_spec.rb
136
149
  - spec/features/flick_spec.rb
137
150
  - spec/features/move_spec.rb
@@ -152,6 +165,8 @@ files:
152
165
  - spec/support/static_website/public/pinch.html
153
166
  - spec/support/static_website/public/tap.html
154
167
  - spec/support/static_website/rack_app.rb
168
+ - spec/unit/capybara/rspec_helper_spec.rb
169
+ - spec/unit/selenium-webdriver/element_spec.rb
155
170
  - spec/unit/watir-webdriver/element_spec.rb
156
171
  - touch_action.gemspec
157
172
  homepage: https://github.com/Ricardonacif/touch_action
@@ -177,7 +192,8 @@ rubyforge_project:
177
192
  rubygems_version: 2.4.2
178
193
  signing_key:
179
194
  specification_version: 4
180
- summary: Adds touch gestures to Watir-WebDriver and Selenium-WebDriver using YUI JS.
195
+ summary: Adds touch gestures simulation to Watir-WebDriver, Selenium-WebDriver and
196
+ Capybara using YUI JS.
181
197
  test_files:
182
198
  - spec/features/doubletap_spec.rb
183
199
  - spec/features/flick_spec.rb
@@ -199,4 +215,6 @@ test_files:
199
215
  - spec/support/static_website/public/pinch.html
200
216
  - spec/support/static_website/public/tap.html
201
217
  - spec/support/static_website/rack_app.rb
218
+ - spec/unit/capybara/rspec_helper_spec.rb
219
+ - spec/unit/selenium-webdriver/element_spec.rb
202
220
  - spec/unit/watir-webdriver/element_spec.rb
@@ -1,40 +0,0 @@
1
-
2
- var element_locator = arguments[0];
3
-
4
- function loadYui(callback) {
5
- // Adding the script tag to the head as suggested before
6
- var head = document.getElementsByTagName('head')[0];
7
- var script = document.createElement('script');
8
- script.type = 'text/javascript';
9
- script.src = "http://yui.yahooapis.com/3.17.2/build/yui/yui-min.js";
10
-
11
- // Then bind the event to the callback function.
12
- // There are several events for cross browser compatibility.
13
- script.onreadystatechange = callback;
14
- script.onload = callback;
15
-
16
- // Fire the loading
17
- head.appendChild(script);
18
- }
19
-
20
- var doubletap = function() {
21
-
22
- YUI().use('node-event-simulate', function(Y) {
23
-
24
- var node = Y.one(element_locator);
25
-
26
- node.simulateGesture("doubletap");
27
-
28
- });
29
-
30
- };
31
-
32
-
33
-
34
- if (typeof YUI == 'undefined') {
35
- loadYui(doubletap);
36
- } else {
37
- doubletap();
38
- };
39
-
40
-
@@ -1,44 +0,0 @@
1
-
2
- var element_locator = arguments[0];
3
-
4
- function loadYui(callback) {
5
- // Adding the script tag to the head as suggested before
6
- var head = document.getElementsByTagName('head')[0];
7
- var script = document.createElement('script');
8
- script.type = 'text/javascript';
9
- script.src = "http://yui.yahooapis.com/3.17.2/build/yui/yui-min.js";
10
-
11
- // Then bind the event to the callback function.
12
- // There are several events for cross browser compatibility.
13
- script.onreadystatechange = callback;
14
- script.onload = callback;
15
-
16
- // Fire the loading
17
- head.appendChild(script);
18
- }
19
-
20
- var flick = function() {
21
-
22
- YUI().use('node-event-simulate', function(Y) {
23
-
24
- var node = Y.one(element_locator);
25
-
26
- node.simulateGesture("flick", {
27
- axis: "<%=axis%>",
28
- distance: <%=distance%>,
29
- duration: <%=duration%>
30
- });
31
-
32
- });
33
-
34
- };
35
-
36
-
37
-
38
- if (typeof YUI == 'undefined') {
39
- loadYui(flick);
40
- } else {
41
- flick();
42
- };
43
-
44
-
@@ -1,44 +0,0 @@
1
-
2
- var element_locator = arguments[0];
3
-
4
- function loadYui(callback) {
5
- // Adding the script tag to the head as suggested before
6
- var head = document.getElementsByTagName('head')[0];
7
- var script = document.createElement('script');
8
- script.type = 'text/javascript';
9
- script.src = "http://yui.yahooapis.com/3.17.2/build/yui/yui-min.js";
10
-
11
- // Then bind the event to the callback function.
12
- // There are several events for cross browser compatibility.
13
- script.onreadystatechange = callback;
14
- script.onload = callback;
15
-
16
- // Fire the loading
17
- head.appendChild(script);
18
- }
19
-
20
- var move = function() {
21
-
22
- YUI().use('node-event-simulate', function(Y) {
23
-
24
- var node = Y.one(element_locator);
25
-
26
- node.simulateGesture("move", {
27
- path: {
28
- xdist: <%= xdist %>,
29
- ydist: <%= ydist %>
30
- } ,
31
- duration: <%= duration %>
32
-
33
- });
34
-
35
- });
36
-
37
- };
38
-
39
-
40
- if (typeof YUI == 'undefined') {
41
- loadYui(move);
42
- } else {
43
- move();
44
- };
@@ -1,41 +0,0 @@
1
-
2
- var element_locator = arguments[0];
3
-
4
- function loadYui(callback) {
5
- // Adding the script tag to the head as suggested before
6
- var head = document.getElementsByTagName('head')[0];
7
- var script = document.createElement('script');
8
- script.type = 'text/javascript';
9
- script.src = "http://yui.yahooapis.com/3.17.2/build/yui/yui-min.js";
10
-
11
- // Then bind the event to the callback function.
12
- // There are several events for cross browser compatibility.
13
- script.onreadystatechange = callback;
14
- script.onload = callback;
15
-
16
- // Fire the loading
17
- head.appendChild(script);
18
- }
19
-
20
- var pinch = function() {
21
-
22
- YUI().use('node-event-simulate', function(Y) {
23
-
24
- var node = Y.one(element_locator);
25
-
26
- //simulate a pinch: "r1" and "r2" are required
27
- node.simulateGesture("pinch", {
28
- r1: <%=r1%>, // start circle radius at the center of the node
29
- r2: <%=r2%> // end circle radius at the center of the node
30
- });
31
-
32
- });
33
-
34
- };
35
-
36
-
37
- if (typeof YUI == 'undefined') {
38
- loadYui(pinch);
39
- } else {
40
- pinch();
41
- };
@@ -1,41 +0,0 @@
1
-
2
- var element_locator = arguments[0];
3
-
4
- function loadYui(callback) {
5
- // Adding the script tag to the head as suggested before
6
- var head = document.getElementsByTagName('head')[0];
7
- var script = document.createElement('script');
8
- script.type = 'text/javascript';
9
- script.src = "http://yui.yahooapis.com/3.17.2/build/yui/yui-min.js";
10
-
11
- // Then bind the event to the callback function.
12
- // There are several events for cross browser compatibility.
13
- script.onreadystatechange = callback;
14
- script.onload = callback;
15
-
16
- // Fire the loading
17
- head.appendChild(script);
18
- }
19
-
20
- var press = function() {
21
-
22
- YUI().use('node-event-simulate', function(Y) {
23
-
24
- var node = Y.one(element_locator);
25
-
26
- node.simulateGesture("press", {
27
- hold: <%=hold%>
28
- });
29
-
30
- });
31
-
32
- };
33
-
34
-
35
- if (typeof YUI == 'undefined') {
36
- loadYui(press);
37
- } else {
38
- press();
39
- };
40
-
41
-
@@ -1,39 +0,0 @@
1
-
2
- var element_locator = arguments[0];
3
-
4
- function loadYui(callback) {
5
- // Adding the script tag to the head as suggested before
6
- var head = document.getElementsByTagName('head')[0];
7
- var script = document.createElement('script');
8
- script.type = 'text/javascript';
9
- script.src = "http://yui.yahooapis.com/3.17.2/build/yui/yui-min.js";
10
-
11
- // Then bind the event to the callback function.
12
- // There are several events for cross browser compatibility.
13
- script.onreadystatechange = callback;
14
- script.onload = callback;
15
-
16
- // Fire the loading
17
- head.appendChild(script);
18
- }
19
-
20
- var rotate = function() {
21
-
22
- YUI().use('node-event-simulate', function(Y) {
23
-
24
- var node = Y.one(element_locator);
25
-
26
- node.simulateGesture("rotate", {
27
- rotation: <%=rotation%>
28
- });
29
-
30
- });
31
-
32
- };
33
-
34
-
35
- if (typeof YUI == 'undefined') {
36
- loadYui(rotate);
37
- } else {
38
- rotate();
39
- };
@@ -1,40 +0,0 @@
1
-
2
- var element_locator = arguments[0];
3
-
4
- function loadYui(callback) {
5
- // Adding the script tag to the head as suggested before
6
- var head = document.getElementsByTagName('head')[0];
7
- var script = document.createElement('script');
8
- script.type = 'text/javascript';
9
- script.src = "//yui.yahooapis.com/3.18.0/build/yui/yui-min.js";
10
-
11
- // Then bind the event to the callback function.
12
- // There are several events for cross browser compatibility.
13
- script.onreadystatechange = callback;
14
- script.onload = callback;
15
-
16
- // Fire the loading
17
- head.appendChild(script);
18
- }
19
-
20
- var tap = function() {
21
-
22
- YUI().use('node-event-simulate', function(Y) {
23
-
24
- var node = Y.one(element_locator);
25
-
26
- node.simulateGesture("tap");
27
-
28
- });
29
-
30
- };
31
-
32
-
33
-
34
- if (typeof YUI == 'undefined') {
35
- loadYui(tap);
36
- } else {
37
- tap();
38
- };
39
-
40
-