symbiont 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +22 -22
  4. data/.travis.yml +25 -14
  5. data/Gemfile +4 -2
  6. data/{LICENSE → LICENSE.txt} +22 -22
  7. data/README.md +57 -65
  8. data/Rakefile +28 -34
  9. data/lib/symbiont/accessor.rb +7 -0
  10. data/lib/symbiont/assertions.rb +33 -0
  11. data/lib/symbiont/elements.rb +69 -0
  12. data/lib/symbiont/errors.rb +7 -0
  13. data/lib/symbiont/factory.rb +75 -46
  14. data/lib/symbiont/helpers.rb +49 -0
  15. data/lib/symbiont/logging.rb +5 -0
  16. data/lib/symbiont/pages.rb +32 -0
  17. data/lib/symbiont/platform.rb +12 -0
  18. data/lib/symbiont/version.rb +3 -3
  19. data/lib/symbiont.rb +34 -92
  20. data/spec/fixtures/element_definitions.rb +32 -0
  21. data/spec/fixtures/mock_drivers.rb +8 -0
  22. data/spec/fixtures/page_definitions.rb +36 -0
  23. data/spec/spec_helper.rb +31 -80
  24. data/spec/symbiont/assertion_spec.rb +88 -0
  25. data/spec/symbiont/driver_spec.rb +41 -0
  26. data/spec/symbiont/element_spec.rb +8 -0
  27. data/spec/symbiont/factory_spec.rb +70 -130
  28. data/spec/symbiont/page_spec.rb +50 -0
  29. data/symbiont.gemspec +52 -27
  30. data/test/symbiont-script.rb +97 -0
  31. metadata +89 -230
  32. data/Gemfile.lock +0 -44
  33. data/HISTORY.md +0 -99
  34. data/app/app.rb +0 -48
  35. data/app/public/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png +0 -0
  36. data/app/public/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png +0 -0
  37. data/app/public/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png +0 -0
  38. data/app/public/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png +0 -0
  39. data/app/public/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png +0 -0
  40. data/app/public/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png +0 -0
  41. data/app/public/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png +0 -0
  42. data/app/public/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png +0 -0
  43. data/app/public/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png +0 -0
  44. data/app/public/css/cupertino/images/ui-icons_2694e8_256x240.png +0 -0
  45. data/app/public/css/cupertino/images/ui-icons_2e83ff_256x240.png +0 -0
  46. data/app/public/css/cupertino/images/ui-icons_3d80b3_256x240.png +0 -0
  47. data/app/public/css/cupertino/images/ui-icons_72a7cf_256x240.png +0 -0
  48. data/app/public/css/cupertino/images/ui-icons_ffffff_256x240.png +0 -0
  49. data/app/public/css/cupertino/jquery-ui-1.8.16.custom.css +0 -290
  50. data/app/public/css/demo_table_jui.css +0 -471
  51. data/app/public/css/font/ColabLig-webfont.eot +0 -0
  52. data/app/public/css/font/ColabLig-webfont.svg +0 -149
  53. data/app/public/css/font/ColabLig-webfont.ttf +0 -0
  54. data/app/public/css/font/ColabLig-webfont.woff +0 -0
  55. data/app/public/css/font/ColabMed-webfont.eot +0 -0
  56. data/app/public/css/font/ColabMed-webfont.svg +0 -149
  57. data/app/public/css/font/ColabMed-webfont.ttf +0 -0
  58. data/app/public/css/font/ColabMed-webfont.woff +0 -0
  59. data/app/public/css/font/ColabReg-webfont.eot +0 -0
  60. data/app/public/css/font/ColabReg-webfont.svg +0 -149
  61. data/app/public/css/font/ColabReg-webfont.ttf +0 -0
  62. data/app/public/css/font/ColabReg-webfont.woff +0 -0
  63. data/app/public/css/font/ColabThi-webfont.eot +0 -0
  64. data/app/public/css/font/ColabThi-webfont.svg +0 -149
  65. data/app/public/css/font/ColabThi-webfont.ttf +0 -0
  66. data/app/public/css/font/ColabThi-webfont.woff +0 -0
  67. data/app/public/css/normalize.css +0 -376
  68. data/app/public/css/site.css +0 -446
  69. data/app/public/fancybox/blank.gif +0 -0
  70. data/app/public/fancybox/fancy_close.png +0 -0
  71. data/app/public/fancybox/fancy_loading.png +0 -0
  72. data/app/public/fancybox/fancy_nav_left.png +0 -0
  73. data/app/public/fancybox/fancy_nav_right.png +0 -0
  74. data/app/public/fancybox/fancy_shadow_e.png +0 -0
  75. data/app/public/fancybox/fancy_shadow_n.png +0 -0
  76. data/app/public/fancybox/fancy_shadow_ne.png +0 -0
  77. data/app/public/fancybox/fancy_shadow_nw.png +0 -0
  78. data/app/public/fancybox/fancy_shadow_s.png +0 -0
  79. data/app/public/fancybox/fancy_shadow_se.png +0 -0
  80. data/app/public/fancybox/fancy_shadow_sw.png +0 -0
  81. data/app/public/fancybox/fancy_shadow_w.png +0 -0
  82. data/app/public/fancybox/fancy_title_left.png +0 -0
  83. data/app/public/fancybox/fancy_title_main.png +0 -0
  84. data/app/public/fancybox/fancy_title_over.png +0 -0
  85. data/app/public/fancybox/fancy_title_right.png +0 -0
  86. data/app/public/fancybox/fancybox-x.png +0 -0
  87. data/app/public/fancybox/fancybox-y.png +0 -0
  88. data/app/public/fancybox/fancybox.png +0 -0
  89. data/app/public/fancybox/jquery.fancybox-1.3.4.css +0 -359
  90. data/app/public/fancybox/jquery.fancybox-1.3.4.js +0 -1156
  91. data/app/public/fancybox/jquery.fancybox-1.3.4.min.js +0 -1
  92. data/app/public/img/Sorting icons.psd +0 -0
  93. data/app/public/img/back_disabled.png +0 -0
  94. data/app/public/img/back_enabled.png +0 -0
  95. data/app/public/img/back_enabled_hover.png +0 -0
  96. data/app/public/img/close.png +0 -0
  97. data/app/public/img/favicon.ico +0 -0
  98. data/app/public/img/forward_disabled.png +0 -0
  99. data/app/public/img/forward_enabled.png +0 -0
  100. data/app/public/img/forward_enabled_hover.png +0 -0
  101. data/app/public/img/lucid-bg.png +0 -0
  102. data/app/public/img/lucid-ft.png +0 -0
  103. data/app/public/img/open.png +0 -0
  104. data/app/public/img/sort_asc.png +0 -0
  105. data/app/public/img/sort_asc_disabled.png +0 -0
  106. data/app/public/img/sort_both.png +0 -0
  107. data/app/public/img/sort_desc.png +0 -0
  108. data/app/public/img/sort_desc_disabled.png +0 -0
  109. data/app/public/js/comics.js +0 -11
  110. data/app/public/js/signup.js +0 -141
  111. data/app/public/js/site.js +0 -42
  112. data/app/public/js/stardate.js +0 -35
  113. data/app/public/js/vendor/html5shiv.js +0 -5
  114. data/app/public/js/vendor/jquery-1.8.3.min.js +0 -2
  115. data/app/public/js/vendor/jquery.dataTables.min.js +0 -151
  116. data/app/public/js/vendor/jquery.validate.min.js +0 -4
  117. data/app/views/comics.erb +0 -344
  118. data/app/views/index.erb +0 -7
  119. data/app/views/layout.erb +0 -72
  120. data/app/views/layout_small.erb +0 -21
  121. data/app/views/stardate.erb +0 -5
  122. data/app/views/stardate_calc.erb +0 -30
  123. data/app/views/webobject.erb +0 -147
  124. data/lib/symbiont/data_setter.rb +0 -53
  125. data/lib/symbiont/enclosers.rb +0 -118
  126. data/lib/symbiont/evaluators.rb +0 -92
  127. data/lib/symbiont/generators.rb +0 -331
  128. data/lib/symbiont/locators.rb +0 -43
  129. data/lib/symbiont/logger.rb +0 -5
  130. data/lib/symbiont/platform_watir/platform_object.rb +0 -466
  131. data/lib/symbiont/platform_watir.rb +0 -9
  132. data/lib/symbiont/platforms.rb +0 -23
  133. data/lib/symbiont/web_objects/_common.rb +0 -174
  134. data/lib/symbiont/web_objects/button.rb +0 -22
  135. data/lib/symbiont/web_objects/checkbox.rb +0 -31
  136. data/lib/symbiont/web_objects/div.rb +0 -15
  137. data/lib/symbiont/web_objects/heading.rb +0 -12
  138. data/lib/symbiont/web_objects/hidden_field.rb +0 -19
  139. data/lib/symbiont/web_objects/label.rb +0 -15
  140. data/lib/symbiont/web_objects/link.rb +0 -23
  141. data/lib/symbiont/web_objects/list_item.rb +0 -13
  142. data/lib/symbiont/web_objects/option.rb +0 -10
  143. data/lib/symbiont/web_objects/ordered_list.rb +0 -49
  144. data/lib/symbiont/web_objects/paragraph.rb +0 -11
  145. data/lib/symbiont/web_objects/radio.rb +0 -31
  146. data/lib/symbiont/web_objects/select_list.rb +0 -82
  147. data/lib/symbiont/web_objects/span.rb +0 -15
  148. data/lib/symbiont/web_objects/table.rb +0 -71
  149. data/lib/symbiont/web_objects/table_cell.rb +0 -24
  150. data/lib/symbiont/web_objects/table_row.rb +0 -59
  151. data/lib/symbiont/web_objects/text_area.rb +0 -26
  152. data/lib/symbiont/web_objects/text_field.rb +0 -31
  153. data/lib/symbiont/web_objects/unordered_list.rb +0 -49
  154. data/lib/symbiont/web_objects.rb +0 -22
  155. data/lucid.yml +0 -6
  156. data/spec/symbiont/data_setter_spec.rb +0 -65
  157. data/spec/symbiont/enclosers_spec.rb +0 -76
  158. data/spec/symbiont/evaluators_spec.rb +0 -95
  159. data/spec/symbiont/generators/button_generators_spec.rb +0 -72
  160. data/spec/symbiont/generators/checkbox_generators_spec.rb +0 -79
  161. data/spec/symbiont/generators/div_generators_spec.rb +0 -56
  162. data/spec/symbiont/generators/hidden_field_generators_spec.rb +0 -65
  163. data/spec/symbiont/generators/link_generators_spec.rb +0 -62
  164. data/spec/symbiont/generators/paragraph_generators_spec.rb +0 -57
  165. data/spec/symbiont/generators/radio_generators_spec.rb +0 -76
  166. data/spec/symbiont/generators/select_list_generators_spec.rb +0 -93
  167. data/spec/symbiont/generators/span_generators_spec.rb +0 -56
  168. data/spec/symbiont/generators/table_cell_generators_spec.rb +0 -56
  169. data/spec/symbiont/generators/table_generators_spec.rb +0 -56
  170. data/spec/symbiont/generators/text_area_generators_spec.rb +0 -72
  171. data/spec/symbiont/generators/text_field_generators_spec.rb +0 -72
  172. data/spec/symbiont/generators_spec.rb +0 -59
  173. data/spec/symbiont/locators_spec.rb +0 -68
  174. data/spec/symbiont/platform_object_spec.rb +0 -18
  175. data/spec/symbiont/symbiont_spec.rb +0 -29
  176. data/spec/symbiont/web_object_spec.rb +0 -194
  177. data/spec/symbiont/web_objects/button_spec.rb +0 -38
  178. data/spec/symbiont/web_objects/checkbox_spec.rb +0 -27
  179. data/spec/symbiont/web_objects/div_spec.rb +0 -18
  180. data/spec/symbiont/web_objects/heading_spec.rb +0 -22
  181. data/spec/symbiont/web_objects/hidden_field_spec.rb +0 -18
  182. data/spec/symbiont/web_objects/label_spec.rb +0 -18
  183. data/spec/symbiont/web_objects/link_spec.rb +0 -33
  184. data/spec/symbiont/web_objects/list_item_spec.rb +0 -18
  185. data/spec/symbiont/web_objects/option_spec.rb +0 -9
  186. data/spec/symbiont/web_objects/ordered_list_spec.rb +0 -53
  187. data/spec/symbiont/web_objects/paragraph_spec.rb +0 -18
  188. data/spec/symbiont/web_objects/radio_spec.rb +0 -27
  189. data/spec/symbiont/web_objects/select_list_spec.rb +0 -69
  190. data/spec/symbiont/web_objects/span_spec.rb +0 -18
  191. data/spec/symbiont/web_objects/table_cell_spec.rb +0 -19
  192. data/spec/symbiont/web_objects/table_row_spec.rb +0 -58
  193. data/spec/symbiont/web_objects/table_spec.rb +0 -61
  194. data/spec/symbiont/web_objects/text_area_spec.rb +0 -18
  195. data/spec/symbiont/web_objects/text_field_spec.rb +0 -39
  196. data/spec/symbiont/web_objects/unordered_list_spec.rb +0 -51
  197. data/specs/common/support/browser.rb +0 -25
  198. data/specs/common/support/env.rb +0 -6
  199. data/specs/common/support/events.rb +0 -15
  200. data/specs/enclosers.feature +0 -9
  201. data/specs/evaluators.feature +0 -26
  202. data/specs/pages/characters.rb +0 -22
  203. data/specs/pages/home.rb +0 -9
  204. data/specs/pages/stardate.rb +0 -23
  205. data/specs/pages/web_objects.rb +0 -77
  206. data/specs/select_list.feature +0 -53
  207. data/specs/steps/enclosers_steps.rb +0 -17
  208. data/specs/steps/evaluators_steps.rb +0 -44
  209. data/specs/steps/navigation_steps.rb +0 -14
  210. data/specs/steps/select_list_steps.rb +0 -94
  211. data/specs/steps/table_cell_steps.rb +0 -31
  212. data/specs/steps/table_steps.rb +0 -87
  213. data/specs/table.feature +0 -49
  214. data/specs/table_cell.feature +0 -27
metadata CHANGED
@@ -1,306 +1,165 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symbiont
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
5
- prerelease:
4
+ version: 0.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jeff Nyman
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-22 00:00:00.000000000 Z
11
+ date: 2014-05-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: watir-webdriver
14
+ name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: 0.6.2
22
- type: :runtime
19
+ version: '1.6'
20
+ type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: 0.6.2
26
+ version: '1.6'
30
27
  - !ruby/object:Gem::Dependency
31
- name: selenium-webdriver
28
+ name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
- version: 2.31.0
38
- type: :runtime
33
+ version: '0'
34
+ type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
- version: 2.31.0
40
+ version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: '2.14'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
- version: '0'
54
+ version: '2.14'
62
55
  - !ruby/object:Gem::Dependency
63
- name: simplecov
56
+ name: colorize
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :development
61
+ version: 0.7.2
62
+ type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
- version: '0'
78
- description: An endosymbiotic facultative library for web application testing.
68
+ version: 0.7.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: watir-webdriver
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.6.9
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.6.9
83
+ description: "\n Symbiont is a framework that allows you to describe your application
84
+ in\n terms of activity and page definitions. Those definitions can then be\n
85
+ \ referenced by test libraries using the DSL that Symbiont provides. The\n DSL
86
+ allows web elements to be proxied to a driver library.\n\n The DSL provides a
87
+ fluent interface that can be used for constructing\n test execution logic. This
88
+ fluent interface promotes the idea of\n compressibility of your test logic, allowing
89
+ for more factoring, more\n reuse, and less repetition.\n\n You can use Symbiont
90
+ directly as an automated test library or you can\n use it with other tools such
91
+ as RSpec, Cucumber, or my own Lucid tool.\n "
79
92
  email:
80
93
  - jeffnyman@gmail.com
81
94
  executables: []
82
95
  extensions: []
83
96
  extra_rdoc_files: []
84
97
  files:
98
+ - .coveralls.yml
85
99
  - .gitignore
86
100
  - .travis.yml
87
101
  - Gemfile
88
- - Gemfile.lock
89
- - HISTORY.md
90
- - LICENSE
102
+ - LICENSE.txt
91
103
  - README.md
92
104
  - Rakefile
93
- - app/app.rb
94
- - app/public/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png
95
- - app/public/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png
96
- - app/public/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png
97
- - app/public/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png
98
- - app/public/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png
99
- - app/public/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png
100
- - app/public/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png
101
- - app/public/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png
102
- - app/public/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png
103
- - app/public/css/cupertino/images/ui-icons_2694e8_256x240.png
104
- - app/public/css/cupertino/images/ui-icons_2e83ff_256x240.png
105
- - app/public/css/cupertino/images/ui-icons_3d80b3_256x240.png
106
- - app/public/css/cupertino/images/ui-icons_72a7cf_256x240.png
107
- - app/public/css/cupertino/images/ui-icons_ffffff_256x240.png
108
- - app/public/css/cupertino/jquery-ui-1.8.16.custom.css
109
- - app/public/css/demo_table_jui.css
110
- - app/public/css/font/ColabLig-webfont.eot
111
- - app/public/css/font/ColabLig-webfont.svg
112
- - app/public/css/font/ColabLig-webfont.ttf
113
- - app/public/css/font/ColabLig-webfont.woff
114
- - app/public/css/font/ColabMed-webfont.eot
115
- - app/public/css/font/ColabMed-webfont.svg
116
- - app/public/css/font/ColabMed-webfont.ttf
117
- - app/public/css/font/ColabMed-webfont.woff
118
- - app/public/css/font/ColabReg-webfont.eot
119
- - app/public/css/font/ColabReg-webfont.svg
120
- - app/public/css/font/ColabReg-webfont.ttf
121
- - app/public/css/font/ColabReg-webfont.woff
122
- - app/public/css/font/ColabThi-webfont.eot
123
- - app/public/css/font/ColabThi-webfont.svg
124
- - app/public/css/font/ColabThi-webfont.ttf
125
- - app/public/css/font/ColabThi-webfont.woff
126
- - app/public/css/normalize.css
127
- - app/public/css/site.css
128
- - app/public/fancybox/blank.gif
129
- - app/public/fancybox/fancy_close.png
130
- - app/public/fancybox/fancy_loading.png
131
- - app/public/fancybox/fancy_nav_left.png
132
- - app/public/fancybox/fancy_nav_right.png
133
- - app/public/fancybox/fancy_shadow_e.png
134
- - app/public/fancybox/fancy_shadow_n.png
135
- - app/public/fancybox/fancy_shadow_ne.png
136
- - app/public/fancybox/fancy_shadow_nw.png
137
- - app/public/fancybox/fancy_shadow_s.png
138
- - app/public/fancybox/fancy_shadow_se.png
139
- - app/public/fancybox/fancy_shadow_sw.png
140
- - app/public/fancybox/fancy_shadow_w.png
141
- - app/public/fancybox/fancy_title_left.png
142
- - app/public/fancybox/fancy_title_main.png
143
- - app/public/fancybox/fancy_title_over.png
144
- - app/public/fancybox/fancy_title_right.png
145
- - app/public/fancybox/fancybox-x.png
146
- - app/public/fancybox/fancybox-y.png
147
- - app/public/fancybox/fancybox.png
148
- - app/public/fancybox/jquery.fancybox-1.3.4.css
149
- - app/public/fancybox/jquery.fancybox-1.3.4.js
150
- - app/public/fancybox/jquery.fancybox-1.3.4.min.js
151
- - app/public/img/Sorting icons.psd
152
- - app/public/img/back_disabled.png
153
- - app/public/img/back_enabled.png
154
- - app/public/img/back_enabled_hover.png
155
- - app/public/img/close.png
156
- - app/public/img/favicon.ico
157
- - app/public/img/forward_disabled.png
158
- - app/public/img/forward_enabled.png
159
- - app/public/img/forward_enabled_hover.png
160
- - app/public/img/lucid-bg.png
161
- - app/public/img/lucid-ft.png
162
- - app/public/img/open.png
163
- - app/public/img/sort_asc.png
164
- - app/public/img/sort_asc_disabled.png
165
- - app/public/img/sort_both.png
166
- - app/public/img/sort_desc.png
167
- - app/public/img/sort_desc_disabled.png
168
- - app/public/js/comics.js
169
- - app/public/js/signup.js
170
- - app/public/js/site.js
171
- - app/public/js/stardate.js
172
- - app/public/js/vendor/html5shiv.js
173
- - app/public/js/vendor/jquery-1.8.3.min.js
174
- - app/public/js/vendor/jquery.dataTables.min.js
175
- - app/public/js/vendor/jquery.validate.min.js
176
- - app/views/comics.erb
177
- - app/views/index.erb
178
- - app/views/layout.erb
179
- - app/views/layout_small.erb
180
- - app/views/stardate.erb
181
- - app/views/stardate_calc.erb
182
- - app/views/webobject.erb
183
105
  - lib/symbiont.rb
184
- - lib/symbiont/data_setter.rb
185
- - lib/symbiont/enclosers.rb
186
- - lib/symbiont/evaluators.rb
106
+ - lib/symbiont/accessor.rb
107
+ - lib/symbiont/assertions.rb
108
+ - lib/symbiont/elements.rb
109
+ - lib/symbiont/errors.rb
187
110
  - lib/symbiont/factory.rb
188
- - lib/symbiont/generators.rb
189
- - lib/symbiont/locators.rb
190
- - lib/symbiont/logger.rb
191
- - lib/symbiont/platform_watir.rb
192
- - lib/symbiont/platform_watir/platform_object.rb
193
- - lib/symbiont/platforms.rb
111
+ - lib/symbiont/helpers.rb
112
+ - lib/symbiont/logging.rb
113
+ - lib/symbiont/pages.rb
114
+ - lib/symbiont/platform.rb
194
115
  - lib/symbiont/version.rb
195
- - lib/symbiont/web_objects.rb
196
- - lib/symbiont/web_objects/_common.rb
197
- - lib/symbiont/web_objects/button.rb
198
- - lib/symbiont/web_objects/checkbox.rb
199
- - lib/symbiont/web_objects/div.rb
200
- - lib/symbiont/web_objects/heading.rb
201
- - lib/symbiont/web_objects/hidden_field.rb
202
- - lib/symbiont/web_objects/label.rb
203
- - lib/symbiont/web_objects/link.rb
204
- - lib/symbiont/web_objects/list_item.rb
205
- - lib/symbiont/web_objects/option.rb
206
- - lib/symbiont/web_objects/ordered_list.rb
207
- - lib/symbiont/web_objects/paragraph.rb
208
- - lib/symbiont/web_objects/radio.rb
209
- - lib/symbiont/web_objects/select_list.rb
210
- - lib/symbiont/web_objects/span.rb
211
- - lib/symbiont/web_objects/table.rb
212
- - lib/symbiont/web_objects/table_cell.rb
213
- - lib/symbiont/web_objects/table_row.rb
214
- - lib/symbiont/web_objects/text_area.rb
215
- - lib/symbiont/web_objects/text_field.rb
216
- - lib/symbiont/web_objects/unordered_list.rb
217
- - lucid.yml
116
+ - spec/fixtures/element_definitions.rb
117
+ - spec/fixtures/mock_drivers.rb
118
+ - spec/fixtures/page_definitions.rb
218
119
  - spec/spec_helper.rb
219
- - spec/symbiont/data_setter_spec.rb
220
- - spec/symbiont/enclosers_spec.rb
221
- - spec/symbiont/evaluators_spec.rb
120
+ - spec/symbiont/assertion_spec.rb
121
+ - spec/symbiont/driver_spec.rb
122
+ - spec/symbiont/element_spec.rb
222
123
  - spec/symbiont/factory_spec.rb
223
- - spec/symbiont/generators/button_generators_spec.rb
224
- - spec/symbiont/generators/checkbox_generators_spec.rb
225
- - spec/symbiont/generators/div_generators_spec.rb
226
- - spec/symbiont/generators/hidden_field_generators_spec.rb
227
- - spec/symbiont/generators/link_generators_spec.rb
228
- - spec/symbiont/generators/paragraph_generators_spec.rb
229
- - spec/symbiont/generators/radio_generators_spec.rb
230
- - spec/symbiont/generators/select_list_generators_spec.rb
231
- - spec/symbiont/generators/span_generators_spec.rb
232
- - spec/symbiont/generators/table_cell_generators_spec.rb
233
- - spec/symbiont/generators/table_generators_spec.rb
234
- - spec/symbiont/generators/text_area_generators_spec.rb
235
- - spec/symbiont/generators/text_field_generators_spec.rb
236
- - spec/symbiont/generators_spec.rb
237
- - spec/symbiont/locators_spec.rb
238
- - spec/symbiont/platform_object_spec.rb
239
- - spec/symbiont/symbiont_spec.rb
240
- - spec/symbiont/web_object_spec.rb
241
- - spec/symbiont/web_objects/button_spec.rb
242
- - spec/symbiont/web_objects/checkbox_spec.rb
243
- - spec/symbiont/web_objects/div_spec.rb
244
- - spec/symbiont/web_objects/heading_spec.rb
245
- - spec/symbiont/web_objects/hidden_field_spec.rb
246
- - spec/symbiont/web_objects/label_spec.rb
247
- - spec/symbiont/web_objects/link_spec.rb
248
- - spec/symbiont/web_objects/list_item_spec.rb
249
- - spec/symbiont/web_objects/option_spec.rb
250
- - spec/symbiont/web_objects/ordered_list_spec.rb
251
- - spec/symbiont/web_objects/paragraph_spec.rb
252
- - spec/symbiont/web_objects/radio_spec.rb
253
- - spec/symbiont/web_objects/select_list_spec.rb
254
- - spec/symbiont/web_objects/span_spec.rb
255
- - spec/symbiont/web_objects/table_cell_spec.rb
256
- - spec/symbiont/web_objects/table_row_spec.rb
257
- - spec/symbiont/web_objects/table_spec.rb
258
- - spec/symbiont/web_objects/text_area_spec.rb
259
- - spec/symbiont/web_objects/text_field_spec.rb
260
- - spec/symbiont/web_objects/unordered_list_spec.rb
261
- - specs/common/support/browser.rb
262
- - specs/common/support/env.rb
263
- - specs/common/support/events.rb
264
- - specs/enclosers.feature
265
- - specs/evaluators.feature
266
- - specs/pages/characters.rb
267
- - specs/pages/home.rb
268
- - specs/pages/stardate.rb
269
- - specs/pages/web_objects.rb
270
- - specs/select_list.feature
271
- - specs/steps/enclosers_steps.rb
272
- - specs/steps/evaluators_steps.rb
273
- - specs/steps/navigation_steps.rb
274
- - specs/steps/select_list_steps.rb
275
- - specs/steps/table_cell_steps.rb
276
- - specs/steps/table_steps.rb
277
- - specs/table.feature
278
- - specs/table_cell.feature
124
+ - spec/symbiont/page_spec.rb
279
125
  - symbiont.gemspec
126
+ - test/symbiont-script.rb
280
127
  homepage: https://github.com/jnyman/symbiont
281
128
  licenses:
282
129
  - MIT
283
- post_install_message:
130
+ metadata: {}
131
+ post_install_message: "\n (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
132
+ (::)\n\n Symbiont 0.3.0 has been installed.\n\n (::) (::) (::) (::) (::)
133
+ (::) (::) (::) (::) (::) (::) (::)\n "
284
134
  rdoc_options: []
285
135
  require_paths:
286
136
  - lib
287
137
  required_ruby_version: !ruby/object:Gem::Requirement
288
- none: false
289
138
  requirements:
290
- - - ! '>='
139
+ - - '>='
291
140
  - !ruby/object:Gem::Version
292
- version: 1.9.2
141
+ version: 1.9.3
293
142
  required_rubygems_version: !ruby/object:Gem::Requirement
294
- none: false
295
143
  requirements:
296
- - - ! '>='
144
+ - - '>='
297
145
  - !ruby/object:Gem::Version
298
- version: '0'
299
- requirements: []
146
+ version: 1.8.29
147
+ requirements:
148
+ - Watir-WebDriver, Colorize
300
149
  rubyforge_project:
301
- rubygems_version: 1.8.24
150
+ rubygems_version: 2.2.2
302
151
  signing_key:
303
- specification_version: 3
304
- summary: ''
305
- test_files: []
152
+ specification_version: 4
153
+ summary: An Endosymbiotic Facultative Semantically Clean Fluent Interface Test Framework
154
+ test_files:
155
+ - spec/fixtures/element_definitions.rb
156
+ - spec/fixtures/mock_drivers.rb
157
+ - spec/fixtures/page_definitions.rb
158
+ - spec/spec_helper.rb
159
+ - spec/symbiont/assertion_spec.rb
160
+ - spec/symbiont/driver_spec.rb
161
+ - spec/symbiont/element_spec.rb
162
+ - spec/symbiont/factory_spec.rb
163
+ - spec/symbiont/page_spec.rb
164
+ - test/symbiont-script.rb
306
165
  has_rdoc:
data/Gemfile.lock DELETED
@@ -1,44 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- symbiont (0.2.0)
5
- selenium-webdriver (= 2.31.0)
6
- watir-webdriver (= 0.6.2)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- childprocess (0.3.9)
12
- ffi (~> 1.0, >= 1.0.11)
13
- diff-lcs (1.2.1)
14
- ffi (1.5.0-x86-mingw32)
15
- multi_json (1.7.1)
16
- rspec (2.13.0)
17
- rspec-core (~> 2.13.0)
18
- rspec-expectations (~> 2.13.0)
19
- rspec-mocks (~> 2.13.0)
20
- rspec-core (2.13.1)
21
- rspec-expectations (2.13.0)
22
- diff-lcs (>= 1.1.3, < 2.0)
23
- rspec-mocks (2.13.0)
24
- rubyzip (0.9.9)
25
- selenium-webdriver (2.31.0)
26
- childprocess (>= 0.2.5)
27
- multi_json (~> 1.0)
28
- rubyzip
29
- websocket (~> 1.0.4)
30
- simplecov (0.7.1)
31
- multi_json (~> 1.0)
32
- simplecov-html (~> 0.7.1)
33
- simplecov-html (0.7.1)
34
- watir-webdriver (0.6.2)
35
- selenium-webdriver (>= 2.18.0)
36
- websocket (1.0.7)
37
-
38
- PLATFORMS
39
- x86-mingw32
40
-
41
- DEPENDENCIES
42
- rspec
43
- simplecov
44
- symbiont!
data/HISTORY.md DELETED
@@ -1,99 +0,0 @@
1
- Change Log and History
2
- ======================
3
-
4
- Version 0.2.1 / 2013-05-22
5
- --------------------------
6
-
7
- This release is patching Symbiont so that does not put a ceiling on Selenium-WebDriver or Watir-WebDriver.
8
-
9
-
10
- Version 0.2.0 / 2013-03-28
11
- --------------------------
12
-
13
- This release adds in more web objects, like labels, headings, and lists. I have also begun putting the unit tests back in place. An initial start has been made at recognizing multiple elements of a given type.
14
-
15
-
16
- Version 0.1.9 / 2013-02-06
17
- --------------------------
18
-
19
- This release backs out many of the changes of the 0.1.8 release. Specifically, Selenium. I have yet to find a good reason to use Selenium over Watir. This release has also put in place more elements that allow you to directly access element functions as you would if you were using Watir-WebDriver directly.
20
-
21
-
22
- Version 0.1.8 / 2013-01-30
23
- --------------------------
24
-
25
- This release made a lot of internal changes in order to begin incorporating Selenium, similar to how the page-object gem works. It's still very uncertain to me whether it makes sense to include Selenium at all so this will be a trial of that. Currently my focus is still on Watir and there is a lot of logic that does not yet work with Selenium.
26
-
27
-
28
- Version 0.1.7 / 2012-10-16
29
- --------------------------
30
-
31
- This release allows common Watir-type method calls to be callable on web objects directly. For example, you can now call 'id', 'value' and so on directly on the web objects. For a checkbox, you can directly call 'check' and 'uncheck'. This is as opposed to before where you had to use Symbiont's generated method structure, such as 'check_myCheckbox' (where myCheckbox was a declared checkbox web object). The other main element that was added was an encloser (within_window) that will allow you to essentially "attach" to a browser window and provide a set of actions in the context of that window.
32
-
33
-
34
- Version 0.1.6 / 2012-09-30
35
- --------------------------
36
-
37
- This releases provides two bits of functionality. One is an ability to wait for pending Ajax requests. Currently this is very specific to jQuery only. The other ability is that of providing workflows. The idea behind this feature is that you can specify a workflow that starts with an action (method) on a particular definition (class). That workflow may have a series of steps that are required in order to allow the action to take place. This new logic will attempt to execute all of those steps. The rationale behind this addition is to make it easier to specify output-driven logic.
38
-
39
-
40
- Version 0.1.5 / 2012-09-12
41
- --------------------------
42
-
43
- This release offers just a few enhancements to using select lists and tables, particularly in terms of iterating through both and getting information.
44
-
45
-
46
- Version 0.1.4 / 2012-08-06
47
- --------------------------
48
-
49
- This release introduces the ability to be a little more flexible and expansive with the locators that are used as well as to allow custom locators by mapping them to existing locators. Partial support has also been added for using CSS selectors, although it is questionable if that will ultimately remain. This is a start at cleaning up the logic regarding how locators are currently handled for the various web objects.
50
-
51
-
52
- Version 0.1.3 / 2012-07-15
53
- --------------------------
54
-
55
- This release introduces a lot of low-hanging fruit. For example there is now the ability to get the title, markup and the active URL of a page. There is also the ability to get a screenshot. It is also possible to get the tag name from a web object. As far as web objects, the ability to get and set values for text fields is now in place. I've also added the ability to execute specific JavaScript calls against the browser. This helps determine what web object currently has focus, as just one example.
56
-
57
- A DataSetter module has been added to allow for easier population of data elements. The idea here is that a using method -- called against a page or activity definition -- can send data directly to web objects on that definition. This is just the start of a streamlined approach for populating data a bit easier than was previously the case. I have also made sure to update to the latest watir-webdriver.
58
-
59
-
60
- Version 0.1.2 / 2012-06-06
61
- --------------------------
62
-
63
- This release provides a new Locators module. The idea behind locators is that undeclared web objects can be used by providing a direct locator reference. Also new in this release is the ability to handle JavaScript alert, confirmation, and prompt message boxes. Finally, table logic was enhanced to allow tables to be enumerated as well as to allow text cells to be referenced by named columns and rows.
64
-
65
-
66
- Version 0.1.1 / 2012-05-30
67
- --------------------------
68
-
69
- This release provides a series of "wait state" methods in order to check for certain conditions, such as an object being visible. The library is now able to get the attribute and style information from web objects. A start has been made on the idea of browser-level actions and page-level actions. These are lumped together under a module called Evaluators. The sample test application being used for Symbiont acceptance tests is now included as part of the application.
70
-
71
-
72
- Version 0.1.0 / 2012-05-16
73
- --------------------------
74
-
75
- This release marks the start of alpha testing for the Symbiont library. Symbiont is now able to work with many primary web objects. This release also contains a full set of acceptance tests for current Symbiont functionality (see specs directory) as well as a full set of unit tests (see spec directory). Symbiont versions will only be released if there is one hundred percent unit coverage and an acceptance test for each added or modified feature.
76
-
77
-
78
- Version 0.0.4 / 2012-04-14
79
- --------------------------
80
-
81
- A very minor update to make sure all tests are in place and working correctly. This release is in preparation to getting the minor release schedule going.
82
-
83
-
84
- Version 0.0.3 / 2012-04-11
85
- --------------------------
86
-
87
- Symbiont went in a different direction, which is excluding Selenium and focusing on Watir. Watir is simply a cleaner API that makes for a more consistent implementation. The focus here was on getting the basis for the generators and enclosers in place. The idea of page and activity definitions that serve as action contexts was also put in place.
88
-
89
-
90
- Version 0.0.2 / 2012-03-15
91
- --------------------------
92
-
93
- This implementation of Symbiont is designed to show the basics of how platform objects, web objects, and a generator mechanism work together to create a test script style that normalizes execution with Selenium and Watir and provides a convention-based approach to interaction with browser objects.
94
-
95
-
96
- Version 0.0.1 / 2012-03-02
97
- --------------------------
98
-
99
- This is a bare implementation of the Symbiont library. The Symbiont library is one part of what will be the Lucid testing framework. This release does nothing beyond establishing the gem and providing some basis for how the library will work.
data/app/app.rb DELETED
@@ -1,48 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "sinatra/base"
4
- require "sinatra/reloader"
5
-
6
- module Symbiote
7
- class App < Sinatra::Base
8
- register Sinatra::Reloader
9
-
10
- get '/' do
11
- @title = "Home"
12
- erb :index
13
- end
14
-
15
- get '/webobject' do
16
- @title = "Web Objects"
17
- erb :webobject
18
- end
19
-
20
- post '/webobject' do
21
- redirect '/webobject'
22
- end
23
-
24
- get '/comics' do
25
- @title = "Comic Heroes and Villains"
26
- erb :comics
27
- end
28
-
29
- get '/forms' do
30
- @title = "Generic Forms"
31
- erb :forms
32
- end
33
-
34
- get '/stardate' do
35
- @title = "Stardates"
36
- erb :stardate
37
- end
38
-
39
- get '/stardate_calc' do
40
- @title = "Stardate Calculators"
41
- erb :stardate_calc, :layout => :layout_small
42
- end
43
- end
44
- end
45
-
46
- if __FILE__ == $0
47
- Symbiote::App.run! port: 9292
48
- end