testcentricity_web 4.1.9 → 4.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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +96 -1
  3. data/README.md +88 -48
  4. data/lib/testcentricity_web/browser_helper.rb +2 -1
  5. data/lib/testcentricity_web/data_objects/environment.rb +0 -1
  6. data/lib/testcentricity_web/version.rb +1 -1
  7. data/lib/testcentricity_web/web_core/page_objects_helper.rb +40 -3
  8. data/lib/testcentricity_web/web_core/webdriver_helper.rb +89 -80
  9. data/lib/testcentricity_web/web_elements/media.rb +108 -0
  10. data/lib/testcentricity_web/web_elements/textfield.rb +28 -0
  11. data/lib/testcentricity_web/web_elements/ui_elements_helper.rb +39 -1
  12. metadata +37 -181
  13. data/.gitignore +0 -39
  14. data/.idea/.name +0 -1
  15. data/.idea/encodings.xml +0 -6
  16. data/.idea/misc.xml +0 -4
  17. data/.idea/modules.xml +0 -8
  18. data/.idea/vcs.xml +0 -7
  19. data/.rspec +0 -4
  20. data/.rubocop.yml +0 -38
  21. data/.ruby-version +0 -1
  22. data/.simplecov +0 -9
  23. data/CODE_OF_CONDUCT.md +0 -13
  24. data/Gemfile +0 -6
  25. data/Rakefile +0 -115
  26. data/config/cucumber.yml +0 -171
  27. data/config/locales/en-US.yml +0 -56
  28. data/config/test_data/LOCAL_data.json +0 -15
  29. data/config/test_data/LOCAL_data.xls +0 -0
  30. data/config/test_data/LOCAL_data.yml +0 -11
  31. data/config/test_data/data.json +0 -25
  32. data/config/test_data/data.xls +0 -0
  33. data/config/test_data/data.yml +0 -20
  34. data/docker-compose.yml +0 -48
  35. data/features/basic_form_page_css.feature +0 -54
  36. data/features/basic_form_page_xpath.feature +0 -26
  37. data/features/custom_controls.feature +0 -29
  38. data/features/media_players.feature +0 -67
  39. data/features/step_definitions/generic_steps.rb.rb +0 -124
  40. data/features/step_definitions/media_steps.rb +0 -30
  41. data/features/support/data/form_data.rb +0 -43
  42. data/features/support/env.rb +0 -51
  43. data/features/support/hooks.rb +0 -270
  44. data/features/support/pages/base_test_page.rb +0 -22
  45. data/features/support/pages/basic_css_form_page.rb +0 -53
  46. data/features/support/pages/basic_form_page.rb +0 -429
  47. data/features/support/pages/basic_xpath_form_page.rb +0 -54
  48. data/features/support/pages/custom_controls_page.rb +0 -263
  49. data/features/support/pages/indexed_sections_page.rb +0 -57
  50. data/features/support/pages/media_test_page.rb +0 -207
  51. data/features/support/sections/header_nav.rb +0 -48
  52. data/features/support/sections/product_card.rb +0 -39
  53. data/features/support/world_data.rb +0 -12
  54. data/features/support/world_pages.rb +0 -18
  55. data/reports/.keep +0 -1
  56. data/spec/fixtures/page_object.rb +0 -22
  57. data/spec/fixtures/section_object.rb +0 -21
  58. data/spec/spec_helper.rb +0 -31
  59. data/spec/testcentricity_web/browser_spec.rb +0 -41
  60. data/spec/testcentricity_web/elements/audio_spec.rb +0 -68
  61. data/spec/testcentricity_web/elements/button_spec.rb +0 -18
  62. data/spec/testcentricity_web/elements/checkbox_spec.rb +0 -33
  63. data/spec/testcentricity_web/elements/file_field_spec.rb +0 -13
  64. data/spec/testcentricity_web/elements/image_spec.rb +0 -33
  65. data/spec/testcentricity_web/elements/label_spec.rb +0 -18
  66. data/spec/testcentricity_web/elements/link_spec.rb +0 -23
  67. data/spec/testcentricity_web/elements/list_spec.rb +0 -13
  68. data/spec/testcentricity_web/elements/radio_spec.rb +0 -28
  69. data/spec/testcentricity_web/elements/ui_element_spec.rb +0 -125
  70. data/spec/testcentricity_web/elements/video_spec.rb +0 -68
  71. data/spec/testcentricity_web/helper_specs/object_helpers_spec.rb +0 -39
  72. data/spec/testcentricity_web/helper_specs/string_helpers_spec.rb +0 -49
  73. data/spec/testcentricity_web/page_object_spec.rb +0 -90
  74. data/spec/testcentricity_web/section_object_spec.rb +0 -72
  75. data/spec/testcentricity_web/version_spec.rb +0 -7
  76. data/spec/testcentricity_web/webdriver_connect/grid_webdriver_spec.rb +0 -72
  77. data/spec/testcentricity_web/webdriver_connect/local_webdriver_spec.rb +0 -86
  78. data/spec/testcentricity_web/webdriver_connect/mobile_webdriver_spec.rb +0 -65
  79. data/test_site/basic_test_page.html +0 -290
  80. data/test_site/chosen-sprite.png +0 -0
  81. data/test_site/chosen-sprite@2x.png +0 -0
  82. data/test_site/chosen.css +0 -496
  83. data/test_site/chosen.jquery.js +0 -1359
  84. data/test_site/chosen.jquery.min.js +0 -3
  85. data/test_site/chosen.min.css +0 -11
  86. data/test_site/chosen.proto.js +0 -1399
  87. data/test_site/chosen.proto.min.js +0 -3
  88. data/test_site/composer.json +0 -36
  89. data/test_site/custom_controls_page.html +0 -629
  90. data/test_site/docsupport/chosen.png +0 -0
  91. data/test_site/docsupport/init.js +0 -11
  92. data/test_site/docsupport/init.proto.js +0 -16
  93. data/test_site/docsupport/jquery-1.12.4.min.js +0 -5
  94. data/test_site/docsupport/jquery-3.2.1.min.js +0 -4
  95. data/test_site/docsupport/oss-credit.png +0 -0
  96. data/test_site/docsupport/prism.css +0 -108
  97. data/test_site/docsupport/prism.js +0 -9
  98. data/test_site/docsupport/prototype-1.7.0.0.js +0 -6082
  99. data/test_site/docsupport/style.css +0 -219
  100. data/test_site/images/Blouse_Black.jpg +0 -0
  101. data/test_site/images/Granny.jpg +0 -0
  102. data/test_site/images/Printed_Dress.jpg +0 -0
  103. data/test_site/images/T-shirt.jpg +0 -0
  104. data/test_site/images/Wilder.jpg +0 -0
  105. data/test_site/images/You_Betcha.jpg +0 -0
  106. data/test_site/images/jeans3.jpg +0 -0
  107. data/test_site/indexed_sections_page.html +0 -215
  108. data/test_site/media/MIB2-subtitles-pt-BR.vtt +0 -49
  109. data/test_site/media/MIB2.mp4 +0 -0
  110. data/test_site/media/MP4_small.mp4 +0 -0
  111. data/test_site/media/MPS_sample.mp3 +0 -0
  112. data/test_site/media/bbc_scotland_report.mp3 +0 -0
  113. data/test_site/media/count_and_bars.mp4 +0 -0
  114. data/test_site/media_page.html +0 -86
  115. data/testcentricity_web.gemspec +0 -57
data/spec/spec_helper.rb DELETED
@@ -1,31 +0,0 @@
1
- require 'require_all'
2
- require 'capybara/rspec'
3
- require 'httparty'
4
- require 'simplecov'
5
- require 'testcentricity_web'
6
-
7
- require_rel 'fixtures'
8
-
9
- include TestCentricity
10
-
11
- SimpleCov.command_name("RSpec-#{Time.now.strftime('%Y%m%d%H%M%S')}")
12
-
13
- $LOAD_PATH << './lib'
14
-
15
- # set the default locale and auto load all translations from config/locales/*.rb,yml.
16
- ENV['LOCALE'] = 'en-US' unless ENV['LOCALE']
17
- I18n.load_path += Dir['config/locales/*.{rb,yml}']
18
- I18n.default_locale = 'en-US'
19
- I18n.locale = ENV['LOCALE']
20
- Faker::Config.locale = ENV['LOCALE']
21
-
22
- # prevent Test::Unit's AutoRunner from executing during RSpec's rake task
23
- Test::Unit.run = true if defined?(Test::Unit) && Test::Unit.respond_to?(:run=)
24
-
25
- RSpec.configure do |config|
26
- config.mock_with :rspec do |mocks|
27
- mocks.allow_message_expectations_on_nil = true
28
- mocks.verify_doubled_constant_names = true
29
- mocks.verify_partial_doubles = true
30
- end
31
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::Browsers, required: true do
4
- before(:context) do
5
- # instantiate local test environment
6
- @environs ||= EnvironData
7
- @environs.find_environ('LOCAL', :yaml)
8
- ENV['WEB_BROWSER'] = 'chrome_headless'
9
- end
10
-
11
- context 'web browser with multiple tabs/windows' do
12
- it 'returns number of browser windows/tabs' do
13
- WebDriverConnect.initialize_web_driver
14
- Capybara.current_session.open_new_window
15
- Capybara.current_session.open_new_window
16
- expect(Browsers.num_browser_instances).to eql 3
17
- end
18
-
19
- it 'closes original browser instance' do
20
- WebDriverConnect.initialize_web_driver
21
- Capybara.current_session.open_new_window
22
- Browsers.close_old_browser_instance
23
- expect(Browsers.num_browser_instances).to eql 1
24
- end
25
-
26
- it 'closes current browser instance' do
27
- WebDriverConnect.initialize_web_driver
28
- Capybara.current_session.open_new_window
29
- Browsers.switch_to_new_browser_instance
30
- Capybara.current_session.open_new_window
31
- Browsers.close_current_browser_instance
32
- expect(Browsers.num_browser_instances).to eql 2
33
- end
34
- end
35
-
36
- after(:each) do
37
- Browsers.close_all_browser_instances
38
- Capybara.current_session.quit
39
- Environ.session_state = :quit
40
- end
41
- end
@@ -1,68 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::Audio, required: true do
4
- subject(:css_audio) { described_class.new(:test_audio, self, 'audio#css_audio', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_audio.class).to eql TestCentricity::Audio
8
- end
9
-
10
- it 'registers with type audio' do
11
- expect(css_audio.get_object_type).to eql :audio
12
- end
13
-
14
- it 'returns autoplay' do
15
- allow(css_audio).to receive(:autoplay?).and_return(false)
16
- expect(css_audio.autoplay?).to eql false
17
- end
18
-
19
- it 'returns controls' do
20
- allow(css_audio).to receive(:controls?).and_return(true)
21
- expect(css_audio.controls?).to eql true
22
- end
23
-
24
- it 'returns ended' do
25
- allow(css_audio).to receive(:ended?).and_return(true)
26
- expect(css_audio.ended?).to eql true
27
- end
28
-
29
- it 'returns loop' do
30
- allow(css_audio).to receive(:loop?).and_return(false)
31
- expect(css_audio.loop?).to eql false
32
- end
33
-
34
- it 'returns muted' do
35
- allow(css_audio).to receive(:muted?).and_return(false)
36
- expect(css_audio.muted?).to eql false
37
- end
38
-
39
- it 'returns paused' do
40
- allow(css_audio).to receive(:paused?).and_return(true)
41
- expect(css_audio.paused?).to eql true
42
- end
43
-
44
- it 'returns seeking' do
45
- allow(css_audio).to receive(:seeking?).and_return(false)
46
- expect(css_audio.seeking?).to eql false
47
- end
48
-
49
- it 'should play the audio' do
50
- expect(css_audio).to receive(:play)
51
- css_audio.play
52
- end
53
-
54
- it 'should pause the audio' do
55
- expect(css_audio).to receive(:pause)
56
- css_audio.pause
57
- end
58
-
59
- it 'should mute the audio' do
60
- expect(css_audio).to receive(:mute)
61
- css_audio.mute
62
- end
63
-
64
- it 'should unmute the audio' do
65
- expect(css_audio).to receive(:unmute)
66
- css_audio.unmute
67
- end
68
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::Button, required: true do
4
- subject(:css_button) { described_class.new(:test_button, self, 'button#css_button', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_button.class).to eql TestCentricity::Button
8
- end
9
-
10
- it 'registers with type button' do
11
- expect(css_button.get_object_type).to eql :button
12
- end
13
-
14
- it 'should click the button' do
15
- expect(css_button).to receive(:click)
16
- css_button.click
17
- end
18
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::CheckBox, required: true do
4
- subject(:css_check) { described_class.new(:test_check, self, 'input#css_check', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_check.class).to eql TestCentricity::CheckBox
8
- end
9
-
10
- it 'registers with type checkbox' do
11
- expect(css_check.get_object_type).to eql :checkbox
12
- end
13
-
14
- it 'should check the checkbox' do
15
- expect(css_check).to receive(:check)
16
- css_check.check
17
- end
18
-
19
- it 'should uncheck the checkbox' do
20
- expect(css_check).to receive(:uncheck)
21
- css_check.uncheck
22
- end
23
-
24
- it 'should know if checkbox is checked' do
25
- allow(css_check).to receive(:checked?).and_return(true)
26
- expect(css_check.checked?).to eq(true)
27
- end
28
-
29
- it 'should know if checkbox is indeterminate' do
30
- allow(css_check).to receive(:indeterminate?).and_return(true)
31
- expect(css_check.indeterminate?).to eq(true)
32
- end
33
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::FileField, required: true do
4
- subject(:css_filefield) { described_class.new(:test_filefield, self, 'input#css_filefield', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_filefield.class).to eql TestCentricity::FileField
8
- end
9
-
10
- it 'registers with type label' do
11
- expect(css_filefield.get_object_type).to eql :filefield
12
- end
13
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::Image, required: true do
4
- subject(:css_image) { described_class.new(:test_image, self, 'img#css_image', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_image.class).to eql TestCentricity::Image
8
- end
9
-
10
- it 'registers with type image' do
11
- expect(css_image.get_object_type).to eql :image
12
- end
13
-
14
- it 'returns loaded' do
15
- allow(css_image).to receive(:loaded?).and_return(true)
16
- expect(css_image.loaded?).to eql true
17
- end
18
-
19
- it 'returns broken' do
20
- allow(css_image).to receive(:broken?).and_return(false)
21
- expect(css_image.broken?).to eql false
22
- end
23
-
24
- it 'returns alt' do
25
- allow(css_image).to receive(:alt).and_return('alt')
26
- expect(css_image.alt).to eql 'alt'
27
- end
28
-
29
- it 'returns src' do
30
- allow(css_image).to receive(:src).and_return('src')
31
- expect(css_image.src).to eql 'src'
32
- end
33
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::Label, required: true do
4
- subject(:css_label) { described_class.new(:test_label, self, 'label#css_label', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_label.class).to eql TestCentricity::Label
8
- end
9
-
10
- it 'registers with type label' do
11
- expect(css_label.get_object_type).to eql :label
12
- end
13
-
14
- it 'returns caption' do
15
- allow(css_label).to receive(:caption).and_return('caption')
16
- expect(css_label.caption).to eql 'caption'
17
- end
18
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::Link, required: true do
4
- subject(:css_link) { described_class.new(:test_label, self, 'a#css_label', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_link.class).to eql TestCentricity::Link
8
- end
9
-
10
- it 'registers with type link' do
11
- expect(css_link.get_object_type).to eql :link
12
- end
13
-
14
- it 'returns href' do
15
- allow(css_link).to receive(:href).and_return('href')
16
- expect(css_link.href).to eql 'href'
17
- end
18
-
19
- it 'should click the link' do
20
- expect(css_link).to receive(:click)
21
- css_link.click
22
- end
23
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::List, required: true do
4
- subject(:css_list) { described_class.new(:test_list, self, 'ul#css_list', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_list.class).to eql TestCentricity::List
8
- end
9
-
10
- it 'registers with type list' do
11
- expect(css_list.get_object_type).to eql :list
12
- end
13
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::Radio, required: true do
4
- subject(:css_radio) { described_class.new(:test_radio, self, 'input#css_radio', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_radio.class).to eql TestCentricity::Radio
8
- end
9
-
10
- it 'registers with type radio' do
11
- expect(css_radio.get_object_type).to eql :radio
12
- end
13
-
14
- it 'should select the radio' do
15
- expect(css_radio).to receive(:select)
16
- css_radio.select
17
- end
18
-
19
- it 'should unselect the radio' do
20
- expect(css_radio).to receive(:unselect)
21
- css_radio.unselect
22
- end
23
-
24
- it 'should know if radio is selected' do
25
- allow(css_radio).to receive(:selected?).and_return(true)
26
- expect(css_radio.selected?).to eq(true)
27
- end
28
- end
@@ -1,125 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::UIElement, required: true do
4
- subject(:css_element) { described_class.new(:css_test_element, self, 'button#css_button', :page) }
5
- subject(:xpath_element) { described_class.new(:xpath_test_element, self, "//button[@id='xpath_button']", :page) }
6
-
7
- it 'returns class' do
8
- expect(css_element.class).to eql described_class
9
- end
10
-
11
- it 'returns css locator type' do
12
- expect(css_element.get_locator_type).to eql :css
13
- end
14
-
15
- it 'returns xpath locator type' do
16
- expect(xpath_element.get_locator_type).to eql :xpath
17
- end
18
-
19
- it 'returns name' do
20
- expect(css_element.get_name).to eql :css_test_element
21
- end
22
-
23
- it 'returns locator' do
24
- expect(css_element.get_locator).to eql 'button#css_button'
25
- end
26
-
27
- it 'returns css locator type' do
28
- expect(css_element.get_locator_type).to eql :css
29
- end
30
-
31
- it 'should click the element' do
32
- allow(css_element).to receive(:click)
33
- css_element.click
34
- end
35
-
36
- it 'should double click the element' do
37
- allow(css_element).to receive(:double_click)
38
- css_element.double_click
39
- end
40
-
41
- it 'should right click the element' do
42
- allow(css_element).to receive(:right_click)
43
- css_element.right_click
44
- end
45
-
46
- it 'should click the element at specified offset' do
47
- allow(css_element).to receive(:click_at)
48
- css_element.click_at(10, 10)
49
- end
50
-
51
- it 'should hover over the element' do
52
- allow(css_element).to receive(:hover)
53
- css_element.hover
54
- end
55
-
56
- it 'should hover over the element at specified offset' do
57
- allow(css_element).to receive(:hover_at)
58
- css_element.hover_at(10, 15)
59
- end
60
-
61
- it 'should drag the element by specified offset' do
62
- allow(css_element).to receive(:drag_by)
63
- css_element.drag_by(20, 15)
64
- end
65
-
66
- it 'should know if element is visible' do
67
- allow(css_element).to receive(:visible?).and_return(false)
68
- expect(css_element.visible?).to eq(false)
69
- end
70
-
71
- it 'should know if element is hidden' do
72
- allow(css_element).to receive(:hidden?).and_return(true)
73
- expect(css_element.hidden?).to eq(true)
74
- end
75
-
76
- it 'should know if element exists' do
77
- allow(css_element).to receive(:exists?).and_return(true)
78
- expect(css_element.exists?).to be true
79
- end
80
-
81
- it 'should know if element is disabled' do
82
- allow(css_element).to receive(:enabled?).and_return(true)
83
- expect(css_element.enabled?).to eq(true)
84
- end
85
-
86
- it 'should know if element is disabled' do
87
- allow(css_element).to receive(:disabled?).and_return(true)
88
- expect(css_element.disabled?).to eq(true)
89
- end
90
-
91
- it 'should know if element is obscured' do
92
- allow(css_element).to receive(:obscured?).and_return(true)
93
- expect(css_element.obscured?).to eq(true)
94
- end
95
-
96
- it 'should know if element is focused' do
97
- allow(css_element).to receive(:focused?).and_return(true)
98
- expect(css_element.focused?).to eq(true)
99
- end
100
-
101
- it 'should know if element is displayed' do
102
- allow(css_element).to receive(:displayed?).and_return(true)
103
- expect(css_element.displayed?).to eq(true)
104
- end
105
-
106
- it 'should know if element is required' do
107
- allow(css_element).to receive(:required?).and_return(true)
108
- expect(css_element.required?).to eq(true)
109
- end
110
-
111
- it 'should send keys' do
112
- allow(css_element).to receive(:send_keys).with('foo bar')
113
- css_element.send_keys('foo bar')
114
- end
115
-
116
- it 'should right highlight the element' do
117
- allow(css_element).to receive(:highlight)
118
- css_element.highlight(2)
119
- end
120
-
121
- it 'should right unhighlight the element' do
122
- allow(css_element).to receive(:unhighlight)
123
- css_element.unhighlight
124
- end
125
- end
@@ -1,68 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::Video, required: true do
4
- subject(:css_video) { described_class.new(:test_video, self, 'video#css_video', :page) }
5
-
6
- it 'returns class' do
7
- expect(css_video.class).to eql TestCentricity::Video
8
- end
9
-
10
- it 'registers with type video' do
11
- expect(css_video.get_object_type).to eql :video
12
- end
13
-
14
- it 'returns autoplay' do
15
- allow(css_video).to receive(:autoplay?).and_return(false)
16
- expect(css_video.autoplay?).to eql false
17
- end
18
-
19
- it 'returns controls' do
20
- allow(css_video).to receive(:controls?).and_return(true)
21
- expect(css_video.controls?).to eql true
22
- end
23
-
24
- it 'returns ended' do
25
- allow(css_video).to receive(:ended?).and_return(true)
26
- expect(css_video.ended?).to eql true
27
- end
28
-
29
- it 'returns loop' do
30
- allow(css_video).to receive(:loop?).and_return(false)
31
- expect(css_video.loop?).to eql false
32
- end
33
-
34
- it 'returns muted' do
35
- allow(css_video).to receive(:muted?).and_return(false)
36
- expect(css_video.muted?).to eql false
37
- end
38
-
39
- it 'returns paused' do
40
- allow(css_video).to receive(:paused?).and_return(true)
41
- expect(css_video.paused?).to eql true
42
- end
43
-
44
- it 'returns seeking' do
45
- allow(css_video).to receive(:seeking?).and_return(false)
46
- expect(css_video.seeking?).to eql false
47
- end
48
-
49
- it 'should play the video' do
50
- expect(css_video).to receive(:play)
51
- css_video.play
52
- end
53
-
54
- it 'should pause the video' do
55
- expect(css_video).to receive(:pause)
56
- css_video.pause
57
- end
58
-
59
- it 'should mute the video' do
60
- expect(css_video).to receive(:mute)
61
- css_video.mute
62
- end
63
-
64
- it 'should unmute the video' do
65
- expect(css_video).to receive(:unmute)
66
- css_video.unmute
67
- end
68
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe Object, required: true do
4
- it 'returns true when blank' do
5
- [nil, {}, ''].each do |value|
6
- expect(value.blank?).to eql true
7
- end
8
- end
9
-
10
- it 'returns false when not blank' do
11
- [0, 42, 'fred', ['Fred', 21], {a: 42}].each do |value|
12
- expect(value.blank?).to eql false
13
- end
14
- end
15
-
16
- it 'returns true when present' do
17
- [0, 42, 'fred', ['Fred', 21], {a: 42}].each do |value|
18
- expect(value.present?).to eql true
19
- end
20
- end
21
-
22
- it 'returns false when not present' do
23
- [nil, {}, ''].each do |value|
24
- expect(value.present?).to eql false
25
- end
26
- end
27
-
28
- it 'returns true when Boolean' do
29
- [!nil?, nil?, 2 + 2 == 4].each do |value|
30
- expect(value.boolean?).to eql true
31
- end
32
- end
33
-
34
- it 'returns false when not a Boolean' do
35
- [4, 'Ethel', [1, 'a']].each do |value|
36
- expect(value.boolean?).to eql false
37
- end
38
- end
39
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe String, required: true do
4
- it 'returns string between' do
5
- expect('The rain in Spain'.string_between('The ', ' Spain')).to eql 'rain in'
6
- end
7
-
8
- it 'returns title case' do
9
- expect('The rain in Spain'.titlecase).to eql 'The Rain In Spain'
10
- end
11
-
12
- it 'returns boolean value when true' do
13
- %w[true t yes y x 1].each do |value|
14
- expect(value.to_bool).to eql true
15
- end
16
- end
17
-
18
- it 'returns boolean value when false' do
19
- %w[false f no n 0].each do |value|
20
- expect(value.to_bool).to eql false
21
- end
22
- end
23
-
24
- it 'returns true when Integer' do
25
- %w[26 3 10345].each do |value|
26
- expect(value.is_int?).to eql true
27
- end
28
- end
29
-
30
- it 'returns false when not an Integer' do
31
- %w[271.234 0.1234 Fred].each do |value|
32
- expect(value.is_int?).to eql false
33
- end
34
- end
35
-
36
- it 'returns true when Float' do
37
- %w[271.234 0.1234 21.4].each do |value|
38
- expect(value.is_float?).to eql true
39
- end
40
- end
41
-
42
- it 'returns formatted date' do
43
- expect('04/06/2022'.format_date_time('%A, %d %b %Y')).to eql 'Saturday, 04 Jun 2022'
44
- end
45
-
46
- it 'returns translated formatted date' do
47
- expect('04/06/2022'.format_date_time(:abbrev)).to eql 'Jun 04, 2022'
48
- end
49
- end