under-os-ui 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +26 -0
  3. data/lib/assets/fontawesome-webfont.ttf +0 -0
  4. data/lib/assets/under-os.css +115 -0
  5. data/lib/core/kernel.rb +16 -0
  6. data/lib/under-os-ui.rb +6 -0
  7. data/lib/under_os/app.rb +26 -0
  8. data/lib/under_os/config.rb +25 -0
  9. data/lib/under_os/history.rb +53 -0
  10. data/lib/under_os/page.rb +178 -0
  11. data/lib/under_os/page/builder.rb +96 -0
  12. data/lib/under_os/page/layout.rb +43 -0
  13. data/lib/under_os/page/matcher.rb +128 -0
  14. data/lib/under_os/page/stylesheet.rb +67 -0
  15. data/lib/under_os/parser.rb +24 -0
  16. data/lib/under_os/parser/css.rb +37 -0
  17. data/lib/under_os/parser/html.rb +97 -0
  18. data/lib/under_os/ui.rb +3 -0
  19. data/lib/under_os/ui/alert.rb +52 -0
  20. data/lib/under_os/ui/button.rb +42 -0
  21. data/lib/under_os/ui/collection.rb +65 -0
  22. data/lib/under_os/ui/collection/cell.rb +21 -0
  23. data/lib/under_os/ui/collection/delegate.rb +70 -0
  24. data/lib/under_os/ui/collection/item.rb +32 -0
  25. data/lib/under_os/ui/collection/layout.rb +43 -0
  26. data/lib/under_os/ui/collection/styles.rb +15 -0
  27. data/lib/under_os/ui/div.rb +3 -0
  28. data/lib/under_os/ui/form.rb +60 -0
  29. data/lib/under_os/ui/icon.rb +61 -0
  30. data/lib/under_os/ui/icon/awesome.rb +376 -0
  31. data/lib/under_os/ui/icon/engine.rb +9 -0
  32. data/lib/under_os/ui/image.rb +31 -0
  33. data/lib/under_os/ui/input.rb +140 -0
  34. data/lib/under_os/ui/label.rb +21 -0
  35. data/lib/under_os/ui/locker.rb +42 -0
  36. data/lib/under_os/ui/navbar.rb +123 -0
  37. data/lib/under_os/ui/progress.rb +17 -0
  38. data/lib/under_os/ui/scroll.rb +102 -0
  39. data/lib/under_os/ui/select.rb +95 -0
  40. data/lib/under_os/ui/sidebar.rb +45 -0
  41. data/lib/under_os/ui/slider.rb +37 -0
  42. data/lib/under_os/ui/spinner.rb +23 -0
  43. data/lib/under_os/ui/style.rb +21 -0
  44. data/lib/under_os/ui/style/fonts.rb +56 -0
  45. data/lib/under_os/ui/style/margins.rb +164 -0
  46. data/lib/under_os/ui/style/outlining.rb +170 -0
  47. data/lib/under_os/ui/style/positioning.rb +183 -0
  48. data/lib/under_os/ui/switch.rb +26 -0
  49. data/lib/under_os/ui/textarea.rb +19 -0
  50. data/lib/under_os/ui/utils/animation.rb +101 -0
  51. data/lib/under_os/ui/utils/commons.rb +70 -0
  52. data/lib/under_os/ui/utils/dimensions.rb +37 -0
  53. data/lib/under_os/ui/utils/events.rb +210 -0
  54. data/lib/under_os/ui/utils/manipulation.rb +44 -0
  55. data/lib/under_os/ui/utils/position.rb +21 -0
  56. data/lib/under_os/ui/utils/size.rb +21 -0
  57. data/lib/under_os/ui/utils/styles.rb +89 -0
  58. data/lib/under_os/ui/utils/traversing.rb +44 -0
  59. data/lib/under_os/ui/utils/wrap.rb +77 -0
  60. data/lib/under_os/ui/view.rb +31 -0
  61. data/spec/assets/app.css +13 -0
  62. data/spec/assets/test.css +7 -0
  63. data/spec/assets/test.html +3 -0
  64. data/spec/assets/test.png +0 -0
  65. data/spec/assets/test_page.rb +2 -0
  66. data/spec/under_os/page/builder_spec.rb +128 -0
  67. data/spec/under_os/page/layout_spec.rb +18 -0
  68. data/spec/under_os/page/matcher_spec.rb +260 -0
  69. data/spec/under_os/page/stylesheet_spec.rb +83 -0
  70. data/spec/under_os/page_spec.rb +5 -0
  71. data/spec/under_os/parser/css_spec.rb +77 -0
  72. data/spec/under_os/parser/html_spec.rb +152 -0
  73. data/spec/under_os/parser_spec.rb +16 -0
  74. data/spec/under_os/ui/button_spec.rb +50 -0
  75. data/spec/under_os/ui/collection_spec.rb +19 -0
  76. data/spec/under_os/ui/div_spec.rb +24 -0
  77. data/spec/under_os/ui/form_spec.rb +156 -0
  78. data/spec/under_os/ui/icon_spec.rb +57 -0
  79. data/spec/under_os/ui/image_spec.rb +39 -0
  80. data/spec/under_os/ui/input_spec.rb +109 -0
  81. data/spec/under_os/ui/label_spec.rb +22 -0
  82. data/spec/under_os/ui/locker_spec.rb +31 -0
  83. data/spec/under_os/ui/progress_spec.rb +31 -0
  84. data/spec/under_os/ui/scroll_spec.rb +75 -0
  85. data/spec/under_os/ui/select_spec.rb +135 -0
  86. data/spec/under_os/ui/sidebar_spec.rb +35 -0
  87. data/spec/under_os/ui/slider_spec.rb +69 -0
  88. data/spec/under_os/ui/spinner_spec.rb +57 -0
  89. data/spec/under_os/ui/style/fonts_spec.rb +111 -0
  90. data/spec/under_os/ui/style/margins_spec.rb +106 -0
  91. data/spec/under_os/ui/style/outlining_spec.rb +101 -0
  92. data/spec/under_os/ui/style/positioning_spec.rb +69 -0
  93. data/spec/under_os/ui/style_spec.rb +19 -0
  94. data/spec/under_os/ui/switch_spec.rb +60 -0
  95. data/spec/under_os/ui/textarea_spec.rb +34 -0
  96. data/spec/under_os/ui/utils/commons_spec.rb +81 -0
  97. data/spec/under_os/ui/utils/events_spec.rb +87 -0
  98. data/spec/under_os/ui/utils/manipulation_spec.rb +130 -0
  99. data/spec/under_os/ui/utils/styles_spec.rb +140 -0
  100. data/spec/under_os/ui/utils/traversing_spec.rb +124 -0
  101. data/spec/under_os/ui/utils/wrap_spec.rb +69 -0
  102. data/spec/under_os/ui/view_spec.rb +39 -0
  103. data/under-os-ui.gemspec +23 -0
  104. metadata +216 -0
@@ -0,0 +1,124 @@
1
+ describe UnderOs::UI::Traversing do
2
+
3
+ before do
4
+ @v1 = UnderOs::UI::View.new
5
+ @v2 = UnderOs::UI::View.new
6
+ @v3 = UnderOs::UI::View.new
7
+ @v4 = UnderOs::UI::View.new
8
+ @v5 = UnderOs::UI::View.new
9
+ @v6 = UnderOs::UI::View.new
10
+
11
+ @v1.append(
12
+ @v2.append(
13
+ @v3,
14
+ @v4.append(
15
+ @v5.append(
16
+ @v6
17
+ ))))
18
+
19
+ @v2.className = 'v1 v2'
20
+ @v3.className = 'v1 v3'
21
+ @v4.className = 'v3 v4'
22
+ @v5.className = 'v5'
23
+ @v6.className = 'v6'
24
+ end
25
+
26
+ describe '#find' do
27
+ it "should return a list of matching items from all levels" do
28
+ @v1.find('.v1').should == [@v2, @v3]
29
+ @v1.find('.v3').should == [@v3, @v4]
30
+ end
31
+
32
+ it "should return an empty list when nothing's found" do
33
+ @v1.find(".non-existing").should == []
34
+ end
35
+ end
36
+
37
+ describe '#first' do
38
+ it "should return the first correctly matching view" do
39
+ @v1.first('.v1').should == @v2
40
+ @v1.first('.v3').should == @v3
41
+ end
42
+
43
+ it "should return nil when nothing matching found" do
44
+ @v1.first('.non-existing').should == nil
45
+ end
46
+ end
47
+
48
+ describe '#matches' do
49
+ it "should return 'true' when it's given a matching css-rule" do
50
+ @v2.matches('.v2').should == true
51
+ end
52
+
53
+ it "should return 'false' when it's given a non-matching css-rule" do
54
+ @v2.matches('.something-else').should == false
55
+ end
56
+ end
57
+
58
+ describe '#parent' do
59
+ it "should be nil by default" do
60
+ @v1.parent.should == nil
61
+ end
62
+
63
+ it "should return the correct view if the parent is set" do
64
+ @v2.parent.should == @v1
65
+ end
66
+
67
+ it "should search for a matching parent if a css-rule was specified" do
68
+ @v6.parent('.v4').should == @v4
69
+ @v6.parent('.v2').should == @v2
70
+ end
71
+
72
+ it "should return nil if a css-rule was specified and nothing matches" do
73
+ @v6.parent('.non-existing').should == nil
74
+ end
75
+ end
76
+
77
+ describe '#children' do
78
+ it "should return an empty array by default" do
79
+ @v6.children.should == []
80
+ end
81
+
82
+ it "should return the list of children when there are some" do
83
+ @v1.children.should == [@v2]
84
+ @v2.children.should == [@v3, @v4]
85
+ end
86
+
87
+ it "should filter the list by a css-rule if one was given" do
88
+ @v2.children('.v4').should == [@v4]
89
+ @v2.children('.non-existing').should == []
90
+ end
91
+
92
+ it "should return an empty list on leaf elements like buttons" do
93
+ UnderOs::UI::Image.new.children.should == []
94
+ end
95
+ end
96
+
97
+ describe '#siblings' do
98
+ it "should return the list of sibling nodes" do
99
+ @v3.siblings.should == [@v4]
100
+ @v4.siblings.should == [@v3]
101
+ end
102
+
103
+ it "should accept a css rule as a filter" do
104
+ @v3.siblings('.v4').should == [@v4]
105
+ @v3.siblings('.non-existing').should == []
106
+ end
107
+
108
+ it "should fall back to an empty list when there is no parent" do
109
+ UnderOs::UI::View.new.siblings.should == []
110
+ end
111
+ end
112
+
113
+ describe '#empty?' do
114
+ it "should return true when there is no child elements" do
115
+ view = UnderOs::UI::View.new
116
+ view.empty?.should == true
117
+ end
118
+
119
+ it "should return false when there are child elements" do
120
+ @v1.empty?.should == false
121
+ end
122
+ end
123
+
124
+ end
@@ -0,0 +1,69 @@
1
+ describe UnderOs::UI::Wrap do
2
+
3
+ describe 'with raw iOS ui instances' do
4
+ def wrap_class_for(raw_class)
5
+ raw = raw_class.alloc.initWithFrame([[0,0],[0,0]])
6
+ UnderOs::UI::View.new(raw).class
7
+ end
8
+
9
+ it "should wrap correctly simple views" do
10
+ wrap_class_for(UIView).should == UnderOs::UI::View
11
+ end
12
+
13
+ it "should wrap buttons correctly" do
14
+ wrap_class_for(UIButton).should == UnderOs::UI::Button
15
+ end
16
+
17
+ it "should wrap labels correctly" do
18
+ wrap_class_for(UILabel).should == UnderOs::UI::Label
19
+ end
20
+
21
+ it "should wrap images correctly" do
22
+ wrap_class_for(UIImageView).should == UnderOs::UI::Image
23
+ end
24
+
25
+ it "should return the same wrapper for the same uiview all the time" do
26
+ raw = UIView.alloc.initWithFrame([[0,0],[0,0]])
27
+ inst = UnderOs::UI::View.new(raw)
28
+
29
+ UnderOs::UI::View.new(raw).should.be.same_as inst
30
+ UnderOs::UI::View.new(raw).should.be.same_as inst
31
+ UnderOs::UI::View.new(raw).should.be.same_as inst
32
+ end
33
+ end
34
+
35
+ describe 'initialization' do
36
+ before do
37
+ @view = UnderOs::UI::View.new
38
+ end
39
+
40
+ it "should build a raw uiview object" do
41
+ @view._.class.should == UIView
42
+ end
43
+
44
+ it "should register the raw view in the cache" do
45
+ UnderOs::UI::View.new(@view._).should.be.same_as @view
46
+ end
47
+ end
48
+
49
+ describe 'weird subclasses' do
50
+
51
+ class WeirdView < UnderOs::UI::View
52
+ attr_reader :a, :b, :c
53
+ def initialize(a,b,c)
54
+ super({})
55
+ @a = a
56
+ @b = b
57
+ @c = c
58
+ end
59
+ end
60
+
61
+ it "should anny arguments for the constructor" do
62
+ view = WeirdView.new(1, 2, 3)
63
+ view.a.should == 1
64
+ view.b.should == 2
65
+ view.c.should == 3
66
+ end
67
+ end
68
+
69
+ end
@@ -0,0 +1,39 @@
1
+ describe UnderOs::UI::View do
2
+ before do
3
+ @view = UnderOs::UI::View.new
4
+ end
5
+
6
+ describe '#initialize' do
7
+ it "should make UnderOs::UI::View instances" do
8
+ @view.class.should == UnderOs::UI::View
9
+ end
10
+
11
+ it "should wrap an UIView instance" do
12
+ @view._.class.should == UIView
13
+ end
14
+
15
+ it "should say its tag name is 'VIEW'" do
16
+ @view.tagName.should == 'VIEW'
17
+ end
18
+
19
+ it "should allow build views with IDs" do
20
+ view = UnderOs::UI::View.new(id: 'my-view')
21
+ view.id.should == 'my-view'
22
+ end
23
+
24
+ it "should allow build views with class names" do
25
+ view = UnderOs::UI::View.new(class: 'my-class another-class')
26
+ view.className.should == 'my-class another-class'
27
+ end
28
+
29
+ it "should accept the 'data' option" do
30
+ view = UnderOs::UI::View.new(data: {some: 'value'})
31
+ view.data.should == {some: 'value'}
32
+ end
33
+
34
+ it "should accept the 'style' option" do
35
+ view = UnderOs::UI::View.new(style: {width: 200})
36
+ view.style.width.should == 200
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.dirname(__FILE__) + "/../under-os-core/lib/under_os"
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.name = "under-os-ui"
6
+ gem.version = UnderOs::VERSION
7
+ gem.homepage = "http://under-os.com"
8
+
9
+ gem.authors = ["Nikolay Nemshilov"]
10
+ gem.email = ['nemshilov@gmail.com']
11
+ gem.description = "The UI magic part of the UnderOs project"
12
+ gem.summary = "The UI magic part of the UnderOs project. Summaries FTW"
13
+ gem.license = 'MIT'
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+
19
+ gem.add_dependency 'under-os-core', UnderOs::VERSION
20
+
21
+ gem.add_development_dependency 'rake'
22
+
23
+ end
metadata ADDED
@@ -0,0 +1,216 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: under-os-ui
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.0
5
+ platform: ruby
6
+ authors:
7
+ - Nikolay Nemshilov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-05-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: under-os-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.4.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.4.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
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'
41
+ description: The UI magic part of the UnderOs project
42
+ email:
43
+ - nemshilov@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - README.md
49
+ - lib/assets/fontawesome-webfont.ttf
50
+ - lib/assets/under-os.css
51
+ - lib/core/kernel.rb
52
+ - lib/under-os-ui.rb
53
+ - lib/under_os/app.rb
54
+ - lib/under_os/config.rb
55
+ - lib/under_os/history.rb
56
+ - lib/under_os/page.rb
57
+ - lib/under_os/page/builder.rb
58
+ - lib/under_os/page/layout.rb
59
+ - lib/under_os/page/matcher.rb
60
+ - lib/under_os/page/stylesheet.rb
61
+ - lib/under_os/parser.rb
62
+ - lib/under_os/parser/css.rb
63
+ - lib/under_os/parser/html.rb
64
+ - lib/under_os/ui.rb
65
+ - lib/under_os/ui/alert.rb
66
+ - lib/under_os/ui/button.rb
67
+ - lib/under_os/ui/collection.rb
68
+ - lib/under_os/ui/collection/cell.rb
69
+ - lib/under_os/ui/collection/delegate.rb
70
+ - lib/under_os/ui/collection/item.rb
71
+ - lib/under_os/ui/collection/layout.rb
72
+ - lib/under_os/ui/collection/styles.rb
73
+ - lib/under_os/ui/div.rb
74
+ - lib/under_os/ui/form.rb
75
+ - lib/under_os/ui/icon.rb
76
+ - lib/under_os/ui/icon/awesome.rb
77
+ - lib/under_os/ui/icon/engine.rb
78
+ - lib/under_os/ui/image.rb
79
+ - lib/under_os/ui/input.rb
80
+ - lib/under_os/ui/label.rb
81
+ - lib/under_os/ui/locker.rb
82
+ - lib/under_os/ui/navbar.rb
83
+ - lib/under_os/ui/progress.rb
84
+ - lib/under_os/ui/scroll.rb
85
+ - lib/under_os/ui/select.rb
86
+ - lib/under_os/ui/sidebar.rb
87
+ - lib/under_os/ui/slider.rb
88
+ - lib/under_os/ui/spinner.rb
89
+ - lib/under_os/ui/style.rb
90
+ - lib/under_os/ui/style/fonts.rb
91
+ - lib/under_os/ui/style/margins.rb
92
+ - lib/under_os/ui/style/outlining.rb
93
+ - lib/under_os/ui/style/positioning.rb
94
+ - lib/under_os/ui/switch.rb
95
+ - lib/under_os/ui/textarea.rb
96
+ - lib/under_os/ui/utils/animation.rb
97
+ - lib/under_os/ui/utils/commons.rb
98
+ - lib/under_os/ui/utils/dimensions.rb
99
+ - lib/under_os/ui/utils/events.rb
100
+ - lib/under_os/ui/utils/manipulation.rb
101
+ - lib/under_os/ui/utils/position.rb
102
+ - lib/under_os/ui/utils/size.rb
103
+ - lib/under_os/ui/utils/styles.rb
104
+ - lib/under_os/ui/utils/traversing.rb
105
+ - lib/under_os/ui/utils/wrap.rb
106
+ - lib/under_os/ui/view.rb
107
+ - spec/assets/app.css
108
+ - spec/assets/test.css
109
+ - spec/assets/test.html
110
+ - spec/assets/test.png
111
+ - spec/assets/test_page.rb
112
+ - spec/under_os/page/builder_spec.rb
113
+ - spec/under_os/page/layout_spec.rb
114
+ - spec/under_os/page/matcher_spec.rb
115
+ - spec/under_os/page/stylesheet_spec.rb
116
+ - spec/under_os/page_spec.rb
117
+ - spec/under_os/parser/css_spec.rb
118
+ - spec/under_os/parser/html_spec.rb
119
+ - spec/under_os/parser_spec.rb
120
+ - spec/under_os/ui/button_spec.rb
121
+ - spec/under_os/ui/collection_spec.rb
122
+ - spec/under_os/ui/div_spec.rb
123
+ - spec/under_os/ui/form_spec.rb
124
+ - spec/under_os/ui/icon_spec.rb
125
+ - spec/under_os/ui/image_spec.rb
126
+ - spec/under_os/ui/input_spec.rb
127
+ - spec/under_os/ui/label_spec.rb
128
+ - spec/under_os/ui/locker_spec.rb
129
+ - spec/under_os/ui/progress_spec.rb
130
+ - spec/under_os/ui/scroll_spec.rb
131
+ - spec/under_os/ui/select_spec.rb
132
+ - spec/under_os/ui/sidebar_spec.rb
133
+ - spec/under_os/ui/slider_spec.rb
134
+ - spec/under_os/ui/spinner_spec.rb
135
+ - spec/under_os/ui/style/fonts_spec.rb
136
+ - spec/under_os/ui/style/margins_spec.rb
137
+ - spec/under_os/ui/style/outlining_spec.rb
138
+ - spec/under_os/ui/style/positioning_spec.rb
139
+ - spec/under_os/ui/style_spec.rb
140
+ - spec/under_os/ui/switch_spec.rb
141
+ - spec/under_os/ui/textarea_spec.rb
142
+ - spec/under_os/ui/utils/commons_spec.rb
143
+ - spec/under_os/ui/utils/events_spec.rb
144
+ - spec/under_os/ui/utils/manipulation_spec.rb
145
+ - spec/under_os/ui/utils/styles_spec.rb
146
+ - spec/under_os/ui/utils/traversing_spec.rb
147
+ - spec/under_os/ui/utils/wrap_spec.rb
148
+ - spec/under_os/ui/view_spec.rb
149
+ - under-os-ui.gemspec
150
+ homepage: http://under-os.com
151
+ licenses:
152
+ - MIT
153
+ metadata: {}
154
+ post_install_message:
155
+ rdoc_options: []
156
+ require_paths:
157
+ - lib
158
+ required_ruby_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ required_rubygems_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ requirements: []
169
+ rubyforge_project:
170
+ rubygems_version: 2.2.2
171
+ signing_key:
172
+ specification_version: 4
173
+ summary: The UI magic part of the UnderOs project. Summaries FTW
174
+ test_files:
175
+ - spec/assets/app.css
176
+ - spec/assets/test.css
177
+ - spec/assets/test.html
178
+ - spec/assets/test.png
179
+ - spec/assets/test_page.rb
180
+ - spec/under_os/page/builder_spec.rb
181
+ - spec/under_os/page/layout_spec.rb
182
+ - spec/under_os/page/matcher_spec.rb
183
+ - spec/under_os/page/stylesheet_spec.rb
184
+ - spec/under_os/page_spec.rb
185
+ - spec/under_os/parser/css_spec.rb
186
+ - spec/under_os/parser/html_spec.rb
187
+ - spec/under_os/parser_spec.rb
188
+ - spec/under_os/ui/button_spec.rb
189
+ - spec/under_os/ui/collection_spec.rb
190
+ - spec/under_os/ui/div_spec.rb
191
+ - spec/under_os/ui/form_spec.rb
192
+ - spec/under_os/ui/icon_spec.rb
193
+ - spec/under_os/ui/image_spec.rb
194
+ - spec/under_os/ui/input_spec.rb
195
+ - spec/under_os/ui/label_spec.rb
196
+ - spec/under_os/ui/locker_spec.rb
197
+ - spec/under_os/ui/progress_spec.rb
198
+ - spec/under_os/ui/scroll_spec.rb
199
+ - spec/under_os/ui/select_spec.rb
200
+ - spec/under_os/ui/sidebar_spec.rb
201
+ - spec/under_os/ui/slider_spec.rb
202
+ - spec/under_os/ui/spinner_spec.rb
203
+ - spec/under_os/ui/style/fonts_spec.rb
204
+ - spec/under_os/ui/style/margins_spec.rb
205
+ - spec/under_os/ui/style/outlining_spec.rb
206
+ - spec/under_os/ui/style/positioning_spec.rb
207
+ - spec/under_os/ui/style_spec.rb
208
+ - spec/under_os/ui/switch_spec.rb
209
+ - spec/under_os/ui/textarea_spec.rb
210
+ - spec/under_os/ui/utils/commons_spec.rb
211
+ - spec/under_os/ui/utils/events_spec.rb
212
+ - spec/under_os/ui/utils/manipulation_spec.rb
213
+ - spec/under_os/ui/utils/styles_spec.rb
214
+ - spec/under_os/ui/utils/traversing_spec.rb
215
+ - spec/under_os/ui/utils/wrap_spec.rb
216
+ - spec/under_os/ui/view_spec.rb