touch_action 1.0.0 → 1.1.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.
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
-