Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
SeleniumHQ
GitHub Repository: SeleniumHQ/Selenium
Path: blob/trunk/rb/spec/unit/selenium/webdriver/common/interactions/interactions_spec.rb
1865 views
1
# frozen_string_literal: true
2
3
# Licensed to the Software Freedom Conservancy (SFC) under one
4
# or more contributor license agreements. See the NOTICE file
5
# distributed with this work for additional information
6
# regarding copyright ownership. The SFC licenses this file
7
# to you under the Apache License, Version 2.0 (the
8
# "License"); you may not use this file except in compliance
9
# with the License. You may obtain a copy of the License at
10
#
11
# http://www.apache.org/licenses/LICENSE-2.0
12
#
13
# Unless required by applicable law or agreed to in writing,
14
# software distributed under the License is distributed on an
15
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
# KIND, either express or implied. See the License for the
17
# specific language governing permissions and limitations
18
# under the License.
19
20
require File.expand_path('../../spec_helper', __dir__)
21
22
module Selenium
23
module WebDriver
24
describe Interactions do
25
describe '#key' do
26
it 'creates a new key input with provided name' do
27
device = described_class.key(:name)
28
29
expect(device).to be_a(Interactions::KeyInput)
30
expect(device.name).to eq(:name)
31
end
32
33
it 'sets name to a random UUID if no name is provided' do
34
allow(SecureRandom).to receive(:uuid).and_return(:id)
35
36
device = described_class.key
37
38
expect(device).to be_a(Interactions::KeyInput)
39
expect(device.name).to eq(:id)
40
end
41
end
42
43
describe '#pointer' do
44
it 'creates a new pointer input with a provided name' do
45
device = described_class.pointer(:mouse, name: :name)
46
47
expect(device).to be_a(Interactions::PointerInput)
48
expect(device.name).to eq(:name)
49
end
50
51
it 'sets name to a random UUID if no name is provided' do
52
allow(SecureRandom).to receive(:uuid).and_return(:id)
53
54
device = described_class.pointer(:mouse)
55
56
expect(device).to be_a(Interactions::PointerInput)
57
expect(device.name).to eq(:id)
58
end
59
end
60
61
describe '#none' do
62
it 'creates a new pointer input with a provided name' do
63
device = described_class.none(:name)
64
65
expect(device).to be_a(Interactions::NoneInput)
66
expect(device.name).to eq(:name)
67
end
68
69
it 'sets name to a random UUID if no name is provided' do
70
allow(SecureRandom).to receive(:uuid).and_return(:id)
71
72
device = described_class.none
73
74
expect(device).to be_a(Interactions::NoneInput)
75
expect(device.name).to eq(:id)
76
end
77
end
78
end
79
end # WebDriver
80
end # Selenium
81
82