fluent 0.4.0 → 0.5.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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/HISTORY.md +11 -0
  3. data/lib/fluent.rb +4 -0
  4. data/lib/fluent/factory.rb +20 -1
  5. data/lib/fluent/version.rb +1 -1
  6. metadata +62 -129
  7. data/.gitignore +0 -19
  8. data/.travis.yml +0 -14
  9. data/Gemfile +0 -5
  10. data/Rakefile +0 -13
  11. data/fluent.gemspec +0 -33
  12. data/spec/enclosers_spec.rb +0 -38
  13. data/spec/evaluators_spec.rb +0 -88
  14. data/spec/factory_spec.rb +0 -49
  15. data/spec/fluent_spec.rb +0 -40
  16. data/spec/generators/button_generators_spec.rb +0 -77
  17. data/spec/generators/cell_generators_spec.rb +0 -50
  18. data/spec/generators/checkbox_generators_spec.rb +0 -88
  19. data/spec/generators/div_generators_spec.rb +0 -49
  20. data/spec/generators/form_generators_spec.rb +0 -42
  21. data/spec/generators/heading_generators_spec.rb +0 -87
  22. data/spec/generators/hidden_generators_spec.rb +0 -49
  23. data/spec/generators/image_generators_spec.rb +0 -42
  24. data/spec/generators/label_generators_spec.rb +0 -49
  25. data/spec/generators/link_generators_spec.rb +0 -64
  26. data/spec/generators/list_item_generators_spec.rb +0 -53
  27. data/spec/generators/ordered_list_generators_spec.rb +0 -53
  28. data/spec/generators/paragraph_generators_spec.rb +0 -65
  29. data/spec/generators/radio_generators_spec.rb +0 -85
  30. data/spec/generators/select_list_generators_spec.rb +0 -120
  31. data/spec/generators/span_generators_spec.rb +0 -49
  32. data/spec/generators/table_generators_spec.rb +0 -49
  33. data/spec/generators/text_area_generators_spec.rb +0 -55
  34. data/spec/generators/text_field_generators_spec.rb +0 -81
  35. data/spec/generators/unordered_list_generators_spec.rb +0 -53
  36. data/spec/generators_spec.rb +0 -87
  37. data/spec/mock_app.rb +0 -31
  38. data/spec/platform_object_spec.rb +0 -32
  39. data/spec/spec_helper.rb +0 -19
  40. data/spec/web_element_spec.rb +0 -38
  41. data/spec/web_element_watir_spec.rb +0 -156
  42. data/spec/web_elements/button_spec.rb +0 -21
  43. data/spec/web_elements/cell_spec.rb +0 -13
  44. data/spec/web_elements/checkbox_spec.rb +0 -25
  45. data/spec/web_elements/div_spec.rb +0 -9
  46. data/spec/web_elements/form_spec.rb +0 -9
  47. data/spec/web_elements/heading_spec.rb +0 -28
  48. data/spec/web_elements/hidden_spec.rb +0 -9
  49. data/spec/web_elements/image_spec.rb +0 -9
  50. data/spec/web_elements/label_spec.rb +0 -9
  51. data/spec/web_elements/link_spec.rb +0 -9
  52. data/spec/web_elements/list_item_spec.rb +0 -9
  53. data/spec/web_elements/option_spec.rb +0 -9
  54. data/spec/web_elements/ordered_list_spec.rb +0 -42
  55. data/spec/web_elements/paragraph_spec.rb +0 -9
  56. data/spec/web_elements/radio_spec.rb +0 -25
  57. data/spec/web_elements/select_list_spec.rb +0 -45
  58. data/spec/web_elements/span_spec.rb +0 -9
  59. data/spec/web_elements/table_row_spec.rb +0 -47
  60. data/spec/web_elements/table_spec.rb +0 -54
  61. data/spec/web_elements/text_area_spec.rb +0 -27
  62. data/spec/web_elements/text_field_spec.rb +0 -29
  63. data/spec/web_elements/unordered_list_spec.rb +0 -42
@@ -1,13 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Cell' do
4
-
5
- it 'should register with a table definition tag' do
6
- ::Fluent::WebElements.get_class_for(:td).should == ::Fluent::WebElements::Cell
7
- end
8
-
9
- it 'should register with a table header tag' do
10
- ::Fluent::WebElements.get_class_for(:th).should == ::Fluent::WebElements::Cell
11
- end
12
-
13
- end
@@ -1,25 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'WebElements::CheckBox' do
4
- let(:checkbox_object) { double('checkbox_object') }
5
- let(:checkbox_definition) { ::Fluent::WebElements::CheckBox.new(checkbox_object, :platform => :watir_webdriver) }
6
-
7
- it 'should be able to determine if the checkbox element is checked' do
8
- checkbox_object.should_receive(:set?).and_return(true)
9
- checkbox_definition.checked?
10
- end
11
-
12
- it 'should be able to check the checkbox' do
13
- checkbox_object.should_receive(:set)
14
- checkbox_definition.check
15
- end
16
-
17
- it 'should be able to uncheck the checkbox' do
18
- checkbox_object.should_receive(:clear)
19
- checkbox_definition.uncheck
20
- end
21
-
22
- it 'should register with a checkbox tag' do
23
- ::Fluent::WebElements.get_class_for(:input, :checkbox).should == ::Fluent::WebElements::CheckBox
24
- end
25
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Div' do
4
-
5
- it 'should register with a div tag' do
6
- ::Fluent::WebElements.get_class_for(:div).should == ::Fluent::WebElements::Div
7
- end
8
-
9
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Form' do
4
-
5
- it 'should register with a form tag' do
6
- ::Fluent::WebElements.get_class_for(:form).should == ::Fluent::WebElements::Form
7
- end
8
-
9
- end
@@ -1,28 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Heading' do
4
-
5
- it 'should register with a h1 tag' do
6
- ::Fluent::WebElements.get_class_for(:h1).should == ::Fluent::WebElements::Heading
7
- end
8
-
9
- it 'should register with a h2 tag' do
10
- ::Fluent::WebElements.get_class_for(:h2).should == ::Fluent::WebElements::Heading
11
- end
12
-
13
- it 'should register with a h3 tag' do
14
- ::Fluent::WebElements.get_class_for(:h3).should == ::Fluent::WebElements::Heading
15
- end
16
-
17
- it 'should register with a h4 tag' do
18
- ::Fluent::WebElements.get_class_for(:h4).should == ::Fluent::WebElements::Heading
19
- end
20
-
21
- it 'should register with a h5 tag' do
22
- ::Fluent::WebElements.get_class_for(:h5).should == ::Fluent::WebElements::Heading
23
- end
24
-
25
- it 'should register with a h6 tag' do
26
- ::Fluent::WebElements.get_class_for(:h6).should == ::Fluent::WebElements::Heading
27
- end
28
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Div' do
4
-
5
- it 'should register with a hidden tag' do
6
- ::Fluent::WebElements.get_class_for(:hidden).should == ::Fluent::WebElements::Hidden
7
- end
8
-
9
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Image' do
4
-
5
- it 'should register with a image tag' do
6
- ::Fluent::WebElements.get_class_for(:img).should == ::Fluent::WebElements::Image
7
- end
8
-
9
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Div' do
4
-
5
- it 'should register with a label tag' do
6
- ::Fluent::WebElements.get_class_for(:label).should == ::Fluent::WebElements::Label
7
- end
8
-
9
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Div' do
4
-
5
- it 'should register with a anchor tag' do
6
- ::Fluent::WebElements.get_class_for(:a).should == ::Fluent::WebElements::Link
7
- end
8
-
9
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::ListItem' do
4
-
5
- it 'should register with a list item tag' do
6
- ::Fluent::WebElements.get_class_for(:li).should == ::Fluent::WebElements::ListItem
7
- end
8
-
9
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Option' do
4
-
5
- it 'should register with an option tag' do
6
- ::Fluent::WebElements.get_class_for(:option).should == ::Fluent::WebElements::Option
7
- end
8
-
9
- end
@@ -1,42 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::OrderedList' do
4
-
5
- it 'should register with a ordered list tag' do
6
- ::Fluent::WebElements.get_class_for(:ol).should == ::Fluent::WebElements::OrderedList
7
- end
8
-
9
- context 'on the watir platform' do
10
- let(:ol_element) { double('ol_element') }
11
- let(:watir_ordered_list) { Fluent::WebElements::OrderedList.new(ol_element, :platform => :watir_webdriver) }
12
-
13
- it 'should return a list item when indexed' do
14
- ol_element.stub(:ols).and_return([ol_element])
15
- ol_element.stub(:find_elements).and_return(ol_element)
16
- ol_element.stub(:map).and_return([ol_element])
17
- ol_element.stub(:parent).and_return(ol_element)
18
- ol_element.stub(:element).and_return(ol_element)
19
- ol_element.stub(:==).and_return(true)
20
- watir_ordered_list[1]
21
- end
22
-
23
- it 'should know how many list items it contains' do
24
- ol_element.stub(:ols).and_return([ol_element])
25
- ol_element.stub(:find_elements).and_return(ol_element)
26
- ol_element.stub(:map).and_return([ol_element])
27
- ol_element.stub(:parent).and_return(ol_element)
28
- ol_element.stub(:element).and_return(ol_element)
29
- ol_element.stub(:==).and_return(true)
30
- watir_ordered_list.items.should == 1
31
- end
32
-
33
- it 'should iterate over the list items' do
34
- watir_ordered_list.should_receive(:items).and_return(5)
35
- watir_ordered_list.stub(:[])
36
- count = 0
37
- watir_ordered_list.each { |item| count += 1 }
38
- count.should == 5
39
- end
40
- end
41
-
42
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Paragraph' do
4
-
5
- it 'should register with a paragraph tag' do
6
- ::Fluent::WebElements.get_class_for(:p).should == ::Fluent::WebElements::Paragraph
7
- end
8
-
9
- end
@@ -1,25 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'WebElements::Radio' do
4
- let(:radio_object) { double('radio_object') }
5
- let(:radio_definition) { ::Fluent::WebElements::Radio.new(radio_object, :platform => :watir_webdriver) }
6
-
7
- it 'should be able to see if a radio is selected' do
8
- radio_object.should_receive(:set?).and_return(true)
9
- radio_definition.selected?
10
- end
11
-
12
- it 'should be able to select a radio' do
13
- radio_object.should_receive(:set).and_return(true)
14
- radio_definition.select
15
- end
16
-
17
- it 'should be able to clear a radio' do
18
- radio_object.should_receive(:clear).and_return(true)
19
- radio_definition.clear
20
- end
21
-
22
- it 'should register with a radio type' do
23
- ::Fluent::WebElements.get_class_for(:input, :radio).should == ::Fluent::WebElements::Radio
24
- end
25
- end
@@ -1,45 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'WebElements::SelectList' do
4
- let(:select_list_object) { double('select_list_object') }
5
- let(:select_list_definition) { ::Fluent::WebElements::SelectList.new(select_list_object, :platform => :watir_webdriver) }
6
- let(:select_list_options) { [select_list_object, select_list_object] }
7
-
8
- # select_list_actual == select_list_definition
9
-
10
- it 'should determine if an option is selected' do
11
- select_list_object.stub(:selected?).with('testing').and_return(true)
12
- select_list_definition.selected?('testing')
13
- end
14
-
15
- it 'should be able to select an item by option' do
16
- select_list_object.should_receive(:select).and_return(true)
17
- select_list_definition.select('testing')
18
- end
19
-
20
- it 'should be able to select an item by value' do
21
- select_list_object.should_receive(:select_value).and_return(true)
22
- select_list_definition.select_value('testing')
23
- end
24
-
25
- it 'should return an array of selected options' do
26
- select_list_object.stub(:selected_options).and_return(select_list_options)
27
- select_list_object.stub(:text).and_return(select_list_object)
28
- select_list_definition.selected_options.should == select_list_options
29
- end
30
-
31
- it 'should get the values for any selected options' do
32
- select_list_object.stub(:selected_options).and_return(select_list_options)
33
- select_list_object.stub(:value).and_return(select_list_object)
34
- select_list_definition.selected_values.should == select_list_options
35
- end
36
-
37
- it 'should determine if an option is available in the list' do
38
- select_list_object.stub(:include?).with('testing').and_return(true)
39
- select_list_definition.include?('testing')
40
- end
41
-
42
- it 'should register with a select list tag' do
43
- ::Fluent::WebElements.get_class_for(:select).should == ::Fluent::WebElements::SelectList
44
- end
45
- end
@@ -1,9 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Span' do
4
-
5
- it 'should register with a span tag' do
6
- ::Fluent::WebElements.get_class_for(:span).should == ::Fluent::WebElements::Span
7
- end
8
-
9
- end
@@ -1,47 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::TableRow' do
4
- let(:table) { double('table') }
5
- let(:table_cell) { double('table_cell') }
6
- let(:table_row_object) { double('table_row_object') }
7
-
8
- context 'on the watir platform' do
9
- it 'should return a table cell when indexed by number' do
10
- table_row = Fluent::WebElements::TableRow.new(table_row_object, :platform => :watir_webdriver)
11
-
12
- table_row.stub(:columns).and_return(2)
13
- table_row_object.should_receive(:[]).with(1).and_return(table_cell)
14
-
15
- table_row[1].should be_instance_of Fluent::WebElements::Cell
16
- end
17
-
18
- # Determine why this is not working.
19
- #it 'should return a table cell when indexed by string' do
20
- #table_row = Fluent::WebElements::TableRow.new(table_row_object, :platform => :watir_webdriver)
21
-
22
- #table.should_receive(:[]).and_return(table_cell)
23
- #table.stub(:tag_name).and_return(table)
24
- #table_row_object.stub(:parent).and_return(table)
25
- #table_row_object.should_receive(:[]).with(0).and_return(table_cell)
26
-
27
- #table_row['test'].should be_instance_of Fluent::WebElements::Cell
28
- #end
29
-
30
- it 'should return the number of columns' do
31
- table_row = Fluent::WebElements::TableRow.new(table_row_object, :platform => :watir_webdriver)
32
- table_row_object.stub(:wd).and_return(table_row_object)
33
- table_row_object.should_receive(:find_elements).with(:xpath, './/child::td|th').and_return(table_row_object)
34
- table_row_object.should_receive(:size).and_return(3)
35
- table_row.columns.should == 3
36
- end
37
-
38
- it 'should iterate over the table columns' do
39
- table_row = Fluent::WebElements::TableRow.new(table_row_object, :platform => :watir_webdriver)
40
- table_row.should_receive(:columns).and_return(2)
41
- table_row.stub(:[]).and_return(table_row_object)
42
- count = 0
43
- table_row.each { |e| count += 1 }
44
- count.should == 2
45
- end
46
- end
47
- end
@@ -1,54 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::Table' do
4
-
5
- let(:table_object) { double('table_object') }
6
- let(:table_row_object) { double('table_row_object') }
7
- let(:table) { Fluent::WebElements::Table }
8
-
9
- it 'should register with a table tag' do
10
- ::Fluent::WebElements.get_class_for(:table).should == ::Fluent::WebElements::Table
11
- end
12
-
13
- context 'on the watir platform' do
14
- let(:watir_table) { Fluent::WebElements::Table.new(table_object, :platform => :watir_webdriver) }
15
-
16
- it 'should return a table row when indexed' do
17
- table_object.stub(:[]).with(1).and_return(table_object)
18
- watir_table[1].should be_instance_of Fluent::WebElements::TableRow
19
- end
20
-
21
- it 'should return the first row' do
22
- table_object.stub(:[]).with(0).and_return(table_object)
23
- watir_table.first_row.should be_instance_of Fluent::WebElements::TableRow
24
- end
25
-
26
- it 'should return the last row' do
27
- table_object.stub(:[]).with(-1).and_return(table_object)
28
- watir_table.last_row.should be_instance_of Fluent::WebElements::TableRow
29
- end
30
-
31
- it 'should return a row using text from the first column' do
32
- table_object.stub(:[]).with('row_text').and_return(table_object)
33
- table_object.should_receive(:rows).and_return(table_object)
34
- table_object.should_receive(:find_index).and_return('row_text')
35
- watir_table['row_text'].should be_instance_of Fluent::WebElements::TableRow
36
- end
37
-
38
- it 'should return the number of rows' do
39
- table_object.should_receive(:wd).and_return(table_object)
40
- table_object.should_receive(:find_elements).with(:xpath, './/child::tr').and_return(table_object)
41
- table_object.should_receive(:size).and_return(2)
42
- watir_table.rows.should == 2
43
- end
44
-
45
- it 'should iterate over the table rows' do
46
- watir_table.should_receive(:rows).and_return(2)
47
- table_object.stub(:[]).and_return(table_object)
48
- count = 0
49
- watir_table.each { |e| count += 1 }
50
- count.should == 2
51
- end
52
- end
53
-
54
- end
@@ -1,27 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'Fluent::WebElements::TextArea' do
4
- let(:text_area_object) { double('text_area_object') }
5
- let(:text_area_definition) { ::Fluent::WebElements::TextArea.new(text_area_object, :platform => :watir_webdriver) }
6
-
7
- it 'should register with a text area tag' do
8
- ::Fluent::WebElements.get_class_for(:textarea).should == ::Fluent::WebElements::TextArea
9
- end
10
-
11
- it 'should get the value of a text area' do
12
- text_area_object.should_receive(:value).and_return('testing')
13
- text_area_definition.value.should == 'testing'
14
- end
15
-
16
- it 'should set the value of a text area' do
17
- text_area_object.should_receive(:set).with('testing')
18
- text_area_definition.value = 'testing'
19
- end
20
-
21
- it 'should clear the text area' do
22
- text_area_object.should_receive(:wd).and_return(text_area_object)
23
- text_area_object.should_receive(:clear).and_return(true)
24
- text_area_definition.clear
25
- end
26
-
27
- end
@@ -1,29 +0,0 @@
1
- require_relative '../spec_helper'
2
-
3
- describe 'WebElements::TextField' do
4
- let(:text_field_object) { double('text_field_object') }
5
- let(:text_field_definition) { ::Fluent::WebElements::TextField.new(text_field_object, :platform => :watir_webdriver) }
6
-
7
- it 'should append text to a text field' do
8
- text_field_object.should_receive(:send_keys).with('testing')
9
- text_field_definition.append 'testing'
10
- end
11
-
12
- it 'should set the value of a text field' do
13
- text_field_object.should_receive(:set).with('testing')
14
- text_field_definition.value = 'testing'
15
- end
16
-
17
- it 'should get the value of a text field' do
18
- text_field_object.should_receive(:value).and_return('testing')
19
- text_field_definition.value.should == 'testing'
20
- end
21
-
22
- it 'should register with a text tag' do
23
- ::Fluent::WebElements.get_class_for(:input, :text).should == ::Fluent::WebElements::TextField
24
- end
25
-
26
- it 'should register with a password tag' do
27
- ::Fluent::WebElements.get_class_for(:input, :password).should == ::Fluent::WebElements::TextField
28
- end
29
- end