under-os 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +25 -2
  4. data/README.md +1 -1
  5. data/Rakefile +2 -4
  6. data/lib/under-os.rb +3 -8
  7. data/under-os.gemspec +6 -2
  8. metadata +47 -191
  9. data/lib/assets/fontawesome-webfont.ttf +0 -0
  10. data/lib/assets/under-os.css +0 -115
  11. data/lib/under_os.rb +0 -41
  12. data/lib/under_os/app.rb +0 -33
  13. data/lib/under_os/color.rb +0 -184
  14. data/lib/under_os/config.rb +0 -33
  15. data/lib/under_os/core/array.rb +0 -5
  16. data/lib/under_os/core/hash.rb +0 -10
  17. data/lib/under_os/core/json.rb +0 -19
  18. data/lib/under_os/core/kernel.rb +0 -16
  19. data/lib/under_os/core/numeric.rb +0 -23
  20. data/lib/under_os/core/object.rb +0 -9
  21. data/lib/under_os/core/string.rb +0 -80
  22. data/lib/under_os/delegate.rb +0 -10
  23. data/lib/under_os/events.rb +0 -85
  24. data/lib/under_os/file.rb +0 -110
  25. data/lib/under_os/history.rb +0 -53
  26. data/lib/under_os/http.rb +0 -31
  27. data/lib/under_os/http/cookies.rb +0 -30
  28. data/lib/under_os/http/receiver.rb +0 -44
  29. data/lib/under_os/http/request.rb +0 -106
  30. data/lib/under_os/http/response.rb +0 -28
  31. data/lib/under_os/http/session.rb +0 -49
  32. data/lib/under_os/page.rb +0 -169
  33. data/lib/under_os/page/builder.rb +0 -96
  34. data/lib/under_os/page/layout.rb +0 -43
  35. data/lib/under_os/page/matcher.rb +0 -128
  36. data/lib/under_os/page/stylesheet.rb +0 -67
  37. data/lib/under_os/parser.rb +0 -24
  38. data/lib/under_os/parser/css.rb +0 -37
  39. data/lib/under_os/parser/html.rb +0 -97
  40. data/lib/under_os/point.rb +0 -47
  41. data/lib/under_os/screen.rb +0 -9
  42. data/lib/under_os/timer.rb +0 -65
  43. data/lib/under_os/ui.rb +0 -3
  44. data/lib/under_os/ui/alert.rb +0 -52
  45. data/lib/under_os/ui/button.rb +0 -42
  46. data/lib/under_os/ui/collection.rb +0 -65
  47. data/lib/under_os/ui/collection/cell.rb +0 -21
  48. data/lib/under_os/ui/collection/delegate.rb +0 -70
  49. data/lib/under_os/ui/collection/item.rb +0 -32
  50. data/lib/under_os/ui/collection/layout.rb +0 -43
  51. data/lib/under_os/ui/collection/styles.rb +0 -15
  52. data/lib/under_os/ui/div.rb +0 -3
  53. data/lib/under_os/ui/form.rb +0 -60
  54. data/lib/under_os/ui/icon.rb +0 -61
  55. data/lib/under_os/ui/icon/awesome.rb +0 -376
  56. data/lib/under_os/ui/icon/engine.rb +0 -10
  57. data/lib/under_os/ui/image.rb +0 -31
  58. data/lib/under_os/ui/input.rb +0 -140
  59. data/lib/under_os/ui/label.rb +0 -21
  60. data/lib/under_os/ui/locker.rb +0 -42
  61. data/lib/under_os/ui/navbar.rb +0 -123
  62. data/lib/under_os/ui/progress.rb +0 -17
  63. data/lib/under_os/ui/scroll.rb +0 -41
  64. data/lib/under_os/ui/select.rb +0 -95
  65. data/lib/under_os/ui/sidebar.rb +0 -45
  66. data/lib/under_os/ui/slider.rb +0 -37
  67. data/lib/under_os/ui/spinner.rb +0 -23
  68. data/lib/under_os/ui/style.rb +0 -21
  69. data/lib/under_os/ui/style/fonts.rb +0 -54
  70. data/lib/under_os/ui/style/margins.rb +0 -164
  71. data/lib/under_os/ui/style/outlining.rb +0 -170
  72. data/lib/under_os/ui/style/positioning.rb +0 -169
  73. data/lib/under_os/ui/switch.rb +0 -26
  74. data/lib/under_os/ui/textarea.rb +0 -19
  75. data/lib/under_os/ui/utils/animation.rb +0 -99
  76. data/lib/under_os/ui/utils/commons.rb +0 -70
  77. data/lib/under_os/ui/utils/dimensions.rb +0 -37
  78. data/lib/under_os/ui/utils/events.rb +0 -170
  79. data/lib/under_os/ui/utils/manipulation.rb +0 -44
  80. data/lib/under_os/ui/utils/position.rb +0 -21
  81. data/lib/under_os/ui/utils/size.rb +0 -21
  82. data/lib/under_os/ui/utils/styles.rb +0 -89
  83. data/lib/under_os/ui/utils/traversing.rb +0 -44
  84. data/lib/under_os/ui/utils/wrap.rb +0 -77
  85. data/lib/under_os/ui/view.rb +0 -31
  86. data/resources/test.png +0 -0
  87. data/spec/assets/app.css +0 -13
  88. data/spec/assets/test.css +0 -7
  89. data/spec/assets/test.html +0 -3
  90. data/spec/assets/test_page.rb +0 -2
  91. data/spec/lib/core/hash_spec.rb +0 -19
  92. data/spec/lib/core/json_spec.rb +0 -32
  93. data/spec/lib/core/numeric_spec.rb +0 -37
  94. data/spec/lib/core/string_spec.rb +0 -121
  95. data/spec/lib/under_os/color_spec.rb +0 -133
  96. data/spec/lib/under_os/events_spec.rb +0 -71
  97. data/spec/lib/under_os/file_spec.rb +0 -98
  98. data/spec/lib/under_os/http/cookies_spec.rb +0 -13
  99. data/spec/lib/under_os/http/request_spec.rb +0 -44
  100. data/spec/lib/under_os/http_spec.rb +0 -20
  101. data/spec/lib/under_os/page/builder_spec.rb +0 -128
  102. data/spec/lib/under_os/page/layout_spec.rb +0 -18
  103. data/spec/lib/under_os/page/matcher_spec.rb +0 -260
  104. data/spec/lib/under_os/page/stylesheet_spec.rb +0 -83
  105. data/spec/lib/under_os/page_spec.rb +0 -5
  106. data/spec/lib/under_os/parser/css_spec.rb +0 -77
  107. data/spec/lib/under_os/parser/html_spec.rb +0 -152
  108. data/spec/lib/under_os/parser_spec.rb +0 -16
  109. data/spec/lib/under_os/point_spec.rb +0 -54
  110. data/spec/lib/under_os/screen_spec.rb +0 -11
  111. data/spec/lib/under_os/timer_spec.rb +0 -93
  112. data/spec/lib/under_os/ui/button_spec.rb +0 -50
  113. data/spec/lib/under_os/ui/collection_spec.rb +0 -19
  114. data/spec/lib/under_os/ui/div_spec.rb +0 -24
  115. data/spec/lib/under_os/ui/form_spec.rb +0 -156
  116. data/spec/lib/under_os/ui/icon_spec.rb +0 -57
  117. data/spec/lib/under_os/ui/image_spec.rb +0 -39
  118. data/spec/lib/under_os/ui/input_spec.rb +0 -109
  119. data/spec/lib/under_os/ui/label_spec.rb +0 -22
  120. data/spec/lib/under_os/ui/locker_spec.rb +0 -31
  121. data/spec/lib/under_os/ui/progress_spec.rb +0 -31
  122. data/spec/lib/under_os/ui/scroll_spec.rb +0 -40
  123. data/spec/lib/under_os/ui/select_spec.rb +0 -135
  124. data/spec/lib/under_os/ui/sidebar_spec.rb +0 -35
  125. data/spec/lib/under_os/ui/slider_spec.rb +0 -69
  126. data/spec/lib/under_os/ui/spinner_spec.rb +0 -57
  127. data/spec/lib/under_os/ui/style/fonts_spec.rb +0 -73
  128. data/spec/lib/under_os/ui/style/margins_spec.rb +0 -106
  129. data/spec/lib/under_os/ui/style/outlining_spec.rb +0 -101
  130. data/spec/lib/under_os/ui/style/positioning_spec.rb +0 -69
  131. data/spec/lib/under_os/ui/style_spec.rb +0 -19
  132. data/spec/lib/under_os/ui/switch_spec.rb +0 -60
  133. data/spec/lib/under_os/ui/textarea_spec.rb +0 -34
  134. data/spec/lib/under_os/ui/utils/commons_spec.rb +0 -81
  135. data/spec/lib/under_os/ui/utils/events_spec.rb +0 -87
  136. data/spec/lib/under_os/ui/utils/manipulation_spec.rb +0 -130
  137. data/spec/lib/under_os/ui/utils/styles_spec.rb +0 -140
  138. data/spec/lib/under_os/ui/utils/traversing_spec.rb +0 -124
  139. data/spec/lib/under_os/ui/utils/wrap_spec.rb +0 -69
  140. data/spec/lib/under_os/ui/view_spec.rb +0 -39
@@ -1,5 +0,0 @@
1
- describe UnderOs::Page do
2
- before do
3
- @page = TestPage.new
4
- end
5
- end
@@ -1,77 +0,0 @@
1
- describe UnderOs::Parser::CSS do
2
- before do
3
- @parser = UnderOs::Parser::CSS.new
4
- end
5
-
6
- it "should parse simple tags" do
7
- @parser.parse(%Q[
8
- page {
9
- background-color: darkgray;
10
- }
11
- ]).should == {'page' => {backgroundColor: "darkgray"}}
12
- end
13
-
14
- it "should unquote quoted values" do
15
- @parser.parse(%Q{
16
- page {
17
- background-image: "image.png";
18
- }
19
- }).should == {'page' => {backgroundImage: "image.png"}}
20
- end
21
-
22
- it "should parse heaps of styles" do
23
- @parser.parse(%Q{
24
- button {
25
- width: 79px;
26
- height: 79px;
27
- color: black;
28
- background: white;
29
- border-radius: 0px;
30
- }
31
- }).should == {'button' => {
32
- width: 79.0, height: 79.0, color: "black", backgroundColor: "white", borderRadius: 0.0
33
- }}
34
- end
35
-
36
- it "should parse classes" do
37
- @parser.parse(%Q[
38
- .row1 { bottom: 0px; }
39
- .row2 { bottom: 80px; }
40
-
41
- .col1.col2 { left: 0; }
42
- ]).should == {
43
- '.row1' => {bottom: 0.0},
44
- '.row2' => {bottom: 80.0},
45
- '.col1.col2' => {left: 0.0}
46
- }
47
- end
48
-
49
- it "should parse tags and styles" do
50
- @parser.parse(%Q[
51
- button.double { width: 159; }
52
- button.ops { background: yellow }
53
- ]).should == {
54
- 'button.double' => {width: 159.0},
55
- 'button.ops' => {backgroundColor: "yellow"}
56
- }
57
- end
58
-
59
- it "should parse complex rules" do
60
- @parser.parse(%Q{
61
- icon#delete .col1.col2 { color: red }
62
- }).should == {
63
- 'icon#delete .col1.col2' => {color: "red"}
64
- }
65
- end
66
-
67
- it "should parse several rules" do
68
- @parser.parse(%Q{
69
- input, textarea {
70
- width: 100;
71
- }
72
- }).should == {
73
- 'input' => {width: 100.0},
74
- 'textarea' => {width: 100.0}
75
- }
76
- end
77
- end
@@ -1,152 +0,0 @@
1
- describe UnderOs::Parser::HTML do
2
-
3
- def parse(src)
4
- @parser ||= UnderOs::Parser::HTML.new
5
- @parser.parse(src)
6
- end
7
-
8
- it "should parse simple tags" do
9
- parse(%Q{
10
- <page>
11
- asdf
12
- </page>
13
- }).should == [{
14
- tag: 'page',
15
- text: 'asdf',
16
- attrs: {}
17
- }]
18
- end
19
-
20
- it "should parse tag attributes" do
21
- parse(%Q{
22
- <page title="My Page" id='my-page'>
23
- </page>
24
- }).should == [{
25
- tag: 'page',
26
- attrs: {
27
- title: "My Page",
28
- id: "my-page"
29
- }
30
- }]
31
- end
32
-
33
- it "should parse tad data-attributes" do
34
- parse(%Q{
35
- <view data-one="1" data-two="2" data-three="true" data-four-and-half="four/2"></view>
36
- }).should == [{
37
- tag: 'view',
38
- attrs: {
39
- data: {
40
- one: '1',
41
- two: '2',
42
- three: true,
43
- fourAndHalf: 'four/2'
44
- }
45
- }
46
- }]
47
- end
48
-
49
- it "should process nested views" do
50
- parse(%Q{
51
- <page>
52
- <view id="my-view">
53
- <view class="my-view">
54
- </view>
55
- </view>
56
- </page>
57
- }).should == [{
58
- tag: "page", attrs: {}, children: [
59
- {tag: "view", attrs: {id: "my-view"}, children: [
60
- {tag: "view", attrs: {class: "my-view"}}
61
- ]}
62
- ]
63
- }]
64
- end
65
-
66
- it "should handle terminal nodes correctly" do
67
- parse(%Q{
68
- <page>
69
- <img src="my-image.jpg" />
70
- <button>Boo Hoo</button>
71
- </page>
72
- }).should == [{
73
- tag: "page", attrs: {}, children: [
74
- {tag: "img", attrs: {src: "my-image.jpg"}},
75
- {tag: "button", attrs: {}, text: "Boo Hoo"}
76
- ]
77
- }]
78
- end
79
-
80
- it "should handle same tags correctly" do
81
- parse(%Q{
82
- <view id="level1">
83
- <view id='level2'>
84
- <button>A</button>
85
- <button>B</button>
86
-
87
- <view id="level3">
88
- <img src="test.png" />
89
- </view>
90
-
91
- <view id="level4">
92
- <icon type="ok">
93
- <label>A</label>
94
- <label>B</label>
95
- </view>
96
- </view>
97
- </view>
98
- }).should == [{
99
- tag: "view", attrs: {id: "level1"}, children: [
100
- {tag: "view", attrs: {id: "level2"}, children: [
101
- {tag: "button", attrs: {}, text: "A"},
102
- {tag: "button", attrs: {}, text: "B"},
103
-
104
- {tag: "view", attrs: {id: "level3"}, children: [
105
- {tag: "img", attrs: {src: "test.png"}}
106
- ]},
107
-
108
- {tag: "view", attrs: {id: "level4"}, children: [
109
- {tag: "icon", attrs: {type: "ok"}},
110
- {tag: "label", attrs: {}, text: "A"},
111
- {tag: "label", attrs: {}, text: "B"}
112
- ]}
113
- ]}
114
- ]}
115
- ]
116
- end
117
-
118
- it "should handle multiple single tags correctly" do
119
- parse(%Q{
120
- <view>
121
- <img>
122
- <icon>
123
- <slide>
124
- </view>
125
- <switch>
126
- <progress>
127
- }).should == [
128
- {tag: "view", attrs: {}, children: [
129
- {tag: "img", attrs: {}},
130
- {tag: "icon", attrs: {}},
131
- {tag: "slide", attrs: {}}
132
- ]},
133
- {tag: "switch", attrs: {}},
134
- {tag: "progress", attrs: {}}
135
- ]
136
- end
137
-
138
- it "should skipp all the comments" do
139
- parse(%Q{
140
- <view>
141
- <!-- <img> -->
142
- <icon>
143
- <!-- <slide> -->
144
- </view>
145
- }).should == [
146
- {tag: "view", attrs: {}, children: [
147
- {tag: "icon", attrs: {}}
148
- ]}
149
- ]
150
- end
151
-
152
- end
@@ -1,16 +0,0 @@
1
- describe UnderOs::Parser do
2
-
3
- it "should parse .css files" do
4
- UnderOs::Parser.parse('test.css').size.should.not == 0
5
- end
6
-
7
- it "should parse .html files" do
8
- UnderOs::Parser.parse('test.html').size.should.not == 0
9
- end
10
-
11
- it "should not fail on non existing files" do
12
- UnderOs::Parser.parse('non-existing.css').should == {}
13
- UnderOs::Parser.parse('non-existing.html').should == []
14
- end
15
-
16
- end
@@ -1,54 +0,0 @@
1
- describe UnderOs::Point do
2
-
3
- describe '#initialize' do
4
- it "should eat numbers" do
5
- point = UnderOs::Point.new(10, 20)
6
- point.x.should == 10
7
- point.y.should == 20
8
- end
9
-
10
- it "should eat hashes" do
11
- point = UnderOs::Point.new(x: 20, y: 30)
12
- point.x.should == 20
13
- point.y.should == 30
14
- end
15
-
16
- it "should eat hashes with string keys" do
17
- point = UnderOs::Point.new('x' => 30, 'y' => 40)
18
- point.x.should == 30
19
- point.y.should == 40
20
- end
21
-
22
- it "should eat other opints" do
23
- other_point = UnderOs::Point.new(x: 40, y: 50)
24
- new_point = UnderOs::Point.new(other_point)
25
- new_point.x.should == other_point.x
26
- new_point.y.should == other_point.y
27
- end
28
- end
29
-
30
- describe '#==' do
31
- before do
32
- @point = UnderOs::Point.new(x: 50, y: 60)
33
- end
34
-
35
- it "should allow comparison to another point" do
36
- @point.should == UnderOs::Point.new(x: 50, y: 60)
37
- @point.should.not == UnderOs::Point.new(x: 60, y: 50)
38
- end
39
-
40
- it "should allow comparison to a hash" do
41
- @point.should == {x: 50, y: 60}
42
- @point.should.not == {x: 60, y: 50}
43
- end
44
- end
45
-
46
- describe '#*' do
47
- it "should allow to multiply pointers by a factor" do
48
- point = UnderOs::Point.new(x: 15, y: 25)
49
- new_point = point * 2
50
- new_point.should.not == point
51
- new_point.should == {x: 30, y: 50}
52
- end
53
- end
54
- end
@@ -1,11 +0,0 @@
1
- describe UnderOs::Screen do
2
-
3
- describe '#size' do
4
- it "should return the size as a Point" do
5
- size = UnderOs::Screen.size
6
- size.class.should == UnderOs::Point
7
- size.x.should == 320
8
- size.y.should == 568
9
- end
10
- end
11
- end
@@ -1,93 +0,0 @@
1
- describe UnderOs::Timer do
2
- describe '#initialize' do
3
- before do
4
- @block = Proc.new {}
5
- @timer = UnderOs::Timer.new(11, repeat: true, &@block)
6
- end
7
-
8
- it "saves the block" do
9
- @timer.block.should == @block
10
- end
11
-
12
- it "sets the interval correctly" do
13
- @timer.interval.should == 11
14
- end
15
-
16
- it "sets the repeating cycle correctly" do
17
- @timer.repeats.should == true
18
- end
19
- end
20
-
21
- describe UnderOs::Timer::Duration do
22
- before do
23
- @duration = UnderOs::Timer::Duration.new(10)
24
- end
25
-
26
- it "saves the value in seconds" do
27
- @duration.seconds.should == 10.0
28
- end
29
-
30
- it "knows how to convert itself to floats" do
31
- @duration.to_f.should == 10.0
32
- end
33
-
34
- it "knows how to convert itself into integers" do
35
- @duration.to_i.should == 10
36
- end
37
-
38
- it "knows how to convert itself into strings" do
39
- @duration.to_s.should == "10.0 seconds"
40
- end
41
-
42
- it "knows how to compare itself to other durations" do
43
- @duration.should == UnderOs::Timer::Duration.new(10)
44
- @duration.should.not == UnderOs::Timer::Duration.new(9)
45
- end
46
-
47
- describe '#later' do
48
- before do
49
- @block = Proc.new {}
50
- @timer = 10.seconds.later &@block
51
- end
52
-
53
- it "spawns a timer" do
54
- @timer.class.should == UnderOs::Timer
55
- end
56
-
57
- it "spawns one-time timer" do
58
- @timer.repeats.should == false
59
- end
60
-
61
- it "spawns a timer with correct interval" do
62
- @timer.interval.should == 10.0
63
- end
64
-
65
- it "spawns a timer with correct block to call" do
66
- @timer.block.should == @block
67
- end
68
- end
69
-
70
- describe '#repeat' do
71
- before do
72
- @block = Proc.new {}
73
- @timer = 20.seconds.repeat &@block
74
- end
75
-
76
- it "spawns a timer" do
77
- @timer.class.should == UnderOs::Timer
78
- end
79
-
80
- it "spawns a recursive timer" do
81
- @timer.repeats.should == true
82
- end
83
-
84
- it "spawns a timer with correct interval" do
85
- @timer.interval.should == 20.0
86
- end
87
-
88
- it "spawns a timer with correct block to call" do
89
- @timer.block.should == @block
90
- end
91
- end
92
- end
93
- end
@@ -1,50 +0,0 @@
1
- describe "UnderOs::UI::Button" do
2
- before do
3
- @button = UnderOs::UI::Button.new(text: "Hello")
4
- end
5
-
6
- describe "constructor" do
7
- it "builds an instance of the UnderOs::UI::Button" do
8
- @button.class.should == UnderOs::UI::Button
9
- end
10
-
11
- it "wraps an UIButton instance" do
12
- @button._.class.should == UIButton
13
- end
14
-
15
- it "assigns the BUTTON tag after it" do
16
- @button.tagName.should == "BUTTON"
17
- end
18
- end
19
-
20
- describe "#text" do
21
- it "returns the button's label text" do
22
- @button.text.should == "Hello"
23
- end
24
-
25
- it "allows to set a new value" do
26
- @button.text = "New Label"
27
- @button._.currentTitle.should == "New Label"
28
- end
29
- end
30
-
31
- describe '#disabled' do
32
- it "returns 'false' by default" do
33
- @button.disabled.should == false
34
- end
35
-
36
- it "reads the value right of the ios entity" do
37
- @button._.enabled = false
38
- @button.disabled.should == true
39
- end
40
-
41
- it "allows to disable the inputs" do
42
- @button.disabled = true
43
- @button._.isEnabled.should == false
44
- end
45
-
46
- it "has a ruby-style alias" do
47
- @button.disabled?.should == false
48
- end
49
- end
50
- end