under-os 1.3.0 → 1.4.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.
- checksums.yaml +4 -4
- data/Gemfile +4 -0
- data/Gemfile.lock +25 -2
- data/README.md +1 -1
- data/Rakefile +2 -4
- data/lib/under-os.rb +3 -8
- data/under-os.gemspec +6 -2
- metadata +47 -191
- data/lib/assets/fontawesome-webfont.ttf +0 -0
- data/lib/assets/under-os.css +0 -115
- data/lib/under_os.rb +0 -41
- data/lib/under_os/app.rb +0 -33
- data/lib/under_os/color.rb +0 -184
- data/lib/under_os/config.rb +0 -33
- data/lib/under_os/core/array.rb +0 -5
- data/lib/under_os/core/hash.rb +0 -10
- data/lib/under_os/core/json.rb +0 -19
- data/lib/under_os/core/kernel.rb +0 -16
- data/lib/under_os/core/numeric.rb +0 -23
- data/lib/under_os/core/object.rb +0 -9
- data/lib/under_os/core/string.rb +0 -80
- data/lib/under_os/delegate.rb +0 -10
- data/lib/under_os/events.rb +0 -85
- data/lib/under_os/file.rb +0 -110
- data/lib/under_os/history.rb +0 -53
- data/lib/under_os/http.rb +0 -31
- data/lib/under_os/http/cookies.rb +0 -30
- data/lib/under_os/http/receiver.rb +0 -44
- data/lib/under_os/http/request.rb +0 -106
- data/lib/under_os/http/response.rb +0 -28
- data/lib/under_os/http/session.rb +0 -49
- data/lib/under_os/page.rb +0 -169
- data/lib/under_os/page/builder.rb +0 -96
- data/lib/under_os/page/layout.rb +0 -43
- data/lib/under_os/page/matcher.rb +0 -128
- data/lib/under_os/page/stylesheet.rb +0 -67
- data/lib/under_os/parser.rb +0 -24
- data/lib/under_os/parser/css.rb +0 -37
- data/lib/under_os/parser/html.rb +0 -97
- data/lib/under_os/point.rb +0 -47
- data/lib/under_os/screen.rb +0 -9
- data/lib/under_os/timer.rb +0 -65
- data/lib/under_os/ui.rb +0 -3
- data/lib/under_os/ui/alert.rb +0 -52
- data/lib/under_os/ui/button.rb +0 -42
- data/lib/under_os/ui/collection.rb +0 -65
- data/lib/under_os/ui/collection/cell.rb +0 -21
- data/lib/under_os/ui/collection/delegate.rb +0 -70
- data/lib/under_os/ui/collection/item.rb +0 -32
- data/lib/under_os/ui/collection/layout.rb +0 -43
- data/lib/under_os/ui/collection/styles.rb +0 -15
- data/lib/under_os/ui/div.rb +0 -3
- data/lib/under_os/ui/form.rb +0 -60
- data/lib/under_os/ui/icon.rb +0 -61
- data/lib/under_os/ui/icon/awesome.rb +0 -376
- data/lib/under_os/ui/icon/engine.rb +0 -10
- data/lib/under_os/ui/image.rb +0 -31
- data/lib/under_os/ui/input.rb +0 -140
- data/lib/under_os/ui/label.rb +0 -21
- data/lib/under_os/ui/locker.rb +0 -42
- data/lib/under_os/ui/navbar.rb +0 -123
- data/lib/under_os/ui/progress.rb +0 -17
- data/lib/under_os/ui/scroll.rb +0 -41
- data/lib/under_os/ui/select.rb +0 -95
- data/lib/under_os/ui/sidebar.rb +0 -45
- data/lib/under_os/ui/slider.rb +0 -37
- data/lib/under_os/ui/spinner.rb +0 -23
- data/lib/under_os/ui/style.rb +0 -21
- data/lib/under_os/ui/style/fonts.rb +0 -54
- data/lib/under_os/ui/style/margins.rb +0 -164
- data/lib/under_os/ui/style/outlining.rb +0 -170
- data/lib/under_os/ui/style/positioning.rb +0 -169
- data/lib/under_os/ui/switch.rb +0 -26
- data/lib/under_os/ui/textarea.rb +0 -19
- data/lib/under_os/ui/utils/animation.rb +0 -99
- data/lib/under_os/ui/utils/commons.rb +0 -70
- data/lib/under_os/ui/utils/dimensions.rb +0 -37
- data/lib/under_os/ui/utils/events.rb +0 -170
- data/lib/under_os/ui/utils/manipulation.rb +0 -44
- data/lib/under_os/ui/utils/position.rb +0 -21
- data/lib/under_os/ui/utils/size.rb +0 -21
- data/lib/under_os/ui/utils/styles.rb +0 -89
- data/lib/under_os/ui/utils/traversing.rb +0 -44
- data/lib/under_os/ui/utils/wrap.rb +0 -77
- data/lib/under_os/ui/view.rb +0 -31
- data/resources/test.png +0 -0
- data/spec/assets/app.css +0 -13
- data/spec/assets/test.css +0 -7
- data/spec/assets/test.html +0 -3
- data/spec/assets/test_page.rb +0 -2
- data/spec/lib/core/hash_spec.rb +0 -19
- data/spec/lib/core/json_spec.rb +0 -32
- data/spec/lib/core/numeric_spec.rb +0 -37
- data/spec/lib/core/string_spec.rb +0 -121
- data/spec/lib/under_os/color_spec.rb +0 -133
- data/spec/lib/under_os/events_spec.rb +0 -71
- data/spec/lib/under_os/file_spec.rb +0 -98
- data/spec/lib/under_os/http/cookies_spec.rb +0 -13
- data/spec/lib/under_os/http/request_spec.rb +0 -44
- data/spec/lib/under_os/http_spec.rb +0 -20
- data/spec/lib/under_os/page/builder_spec.rb +0 -128
- data/spec/lib/under_os/page/layout_spec.rb +0 -18
- data/spec/lib/under_os/page/matcher_spec.rb +0 -260
- data/spec/lib/under_os/page/stylesheet_spec.rb +0 -83
- data/spec/lib/under_os/page_spec.rb +0 -5
- data/spec/lib/under_os/parser/css_spec.rb +0 -77
- data/spec/lib/under_os/parser/html_spec.rb +0 -152
- data/spec/lib/under_os/parser_spec.rb +0 -16
- data/spec/lib/under_os/point_spec.rb +0 -54
- data/spec/lib/under_os/screen_spec.rb +0 -11
- data/spec/lib/under_os/timer_spec.rb +0 -93
- data/spec/lib/under_os/ui/button_spec.rb +0 -50
- data/spec/lib/under_os/ui/collection_spec.rb +0 -19
- data/spec/lib/under_os/ui/div_spec.rb +0 -24
- data/spec/lib/under_os/ui/form_spec.rb +0 -156
- data/spec/lib/under_os/ui/icon_spec.rb +0 -57
- data/spec/lib/under_os/ui/image_spec.rb +0 -39
- data/spec/lib/under_os/ui/input_spec.rb +0 -109
- data/spec/lib/under_os/ui/label_spec.rb +0 -22
- data/spec/lib/under_os/ui/locker_spec.rb +0 -31
- data/spec/lib/under_os/ui/progress_spec.rb +0 -31
- data/spec/lib/under_os/ui/scroll_spec.rb +0 -40
- data/spec/lib/under_os/ui/select_spec.rb +0 -135
- data/spec/lib/under_os/ui/sidebar_spec.rb +0 -35
- data/spec/lib/under_os/ui/slider_spec.rb +0 -69
- data/spec/lib/under_os/ui/spinner_spec.rb +0 -57
- data/spec/lib/under_os/ui/style/fonts_spec.rb +0 -73
- data/spec/lib/under_os/ui/style/margins_spec.rb +0 -106
- data/spec/lib/under_os/ui/style/outlining_spec.rb +0 -101
- data/spec/lib/under_os/ui/style/positioning_spec.rb +0 -69
- data/spec/lib/under_os/ui/style_spec.rb +0 -19
- data/spec/lib/under_os/ui/switch_spec.rb +0 -60
- data/spec/lib/under_os/ui/textarea_spec.rb +0 -34
- data/spec/lib/under_os/ui/utils/commons_spec.rb +0 -81
- data/spec/lib/under_os/ui/utils/events_spec.rb +0 -87
- data/spec/lib/under_os/ui/utils/manipulation_spec.rb +0 -130
- data/spec/lib/under_os/ui/utils/styles_spec.rb +0 -140
- data/spec/lib/under_os/ui/utils/traversing_spec.rb +0 -124
- data/spec/lib/under_os/ui/utils/wrap_spec.rb +0 -69
- data/spec/lib/under_os/ui/view_spec.rb +0 -39
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# The ui-views manipulation functionality
|
|
3
|
-
#
|
|
4
|
-
module UnderOs::UI::Manipulation
|
|
5
|
-
|
|
6
|
-
def insert(view, position=:end)
|
|
7
|
-
if view.is_a?(Array)
|
|
8
|
-
view.each{|v| insert(v, position)}
|
|
9
|
-
else
|
|
10
|
-
if position == :top
|
|
11
|
-
@_.insertSubview(view._, atIndex: 0)
|
|
12
|
-
else
|
|
13
|
-
@_.addSubview(view._)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
self
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def append(*views)
|
|
21
|
-
views.each{|v| insert(v)}
|
|
22
|
-
self
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def prepend(*views)
|
|
26
|
-
views.each{|v| insert(v, :top) }
|
|
27
|
-
self
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def insertTo(view, position=nil)
|
|
31
|
-
view.insert(self, position)
|
|
32
|
-
self
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def remove
|
|
36
|
-
@_.removeFromSuperview
|
|
37
|
-
self
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def clear
|
|
41
|
-
children.each(&:remove)
|
|
42
|
-
self
|
|
43
|
-
end
|
|
44
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
class UnderOs::UI::Position < UnderOs::Point
|
|
2
|
-
def initialize(view)
|
|
3
|
-
@view = view
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
def x
|
|
7
|
-
@view.style.left
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def x=(position)
|
|
11
|
-
@view.style.left = position
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def y
|
|
15
|
-
@view.style.top
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def y=(position)
|
|
19
|
-
@view.style.top = position
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
class UnderOs::UI::Size < UnderOs::Point
|
|
2
|
-
def initialize(view)
|
|
3
|
-
@view = view
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
def x
|
|
7
|
-
@view.style.width
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def x=(size)
|
|
11
|
-
@view.style.width = size
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def y
|
|
15
|
-
@view.style.height
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def y=(size)
|
|
19
|
-
@view.style.height = size
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# The styles handling API for UIView
|
|
3
|
-
#
|
|
4
|
-
module UnderOs::UI::Styles
|
|
5
|
-
def style(hash=nil)
|
|
6
|
-
if hash
|
|
7
|
-
self.style = hash
|
|
8
|
-
self
|
|
9
|
-
else
|
|
10
|
-
@_style ||= UnderOs::UI::Style.new(_, tagName.downcase.to_sym)
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def style=(hash)
|
|
15
|
-
hash.each{ |key, value| style.__send__("#{key}=", value)}
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def className
|
|
19
|
-
classNames.join(' ')
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def className=(names)
|
|
23
|
-
self.classNames = names.scan(/([a-z0-9\-_]+)/).map{|e| e[0]}
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def classNames
|
|
27
|
-
@_class_names ||= []
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def classNames=(list)
|
|
31
|
-
repaint_if_classes_change do
|
|
32
|
-
@_class_names = list.uniq.map(&:to_s)
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def hasClass(name)
|
|
37
|
-
classNames.include?(name)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def addClass(name)
|
|
41
|
-
repaint_if_classes_change do
|
|
42
|
-
self.classNames += [name]
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def removeClass(name)
|
|
47
|
-
repaint_if_classes_change do
|
|
48
|
-
self.classNames -= [name]
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def toggleClass(name)
|
|
53
|
-
if hasClass(name)
|
|
54
|
-
removeClass name
|
|
55
|
-
else
|
|
56
|
-
addClass name
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
def radioClass(name)
|
|
61
|
-
parent.children.each do |view|
|
|
62
|
-
view.removeClass(name) if view != self
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
addClass name
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def repaint(stylesheet=nil, &block)
|
|
69
|
-
stylesheet ||= page && page.stylesheet
|
|
70
|
-
|
|
71
|
-
if stylesheet
|
|
72
|
-
styles = stylesheet.styles_for(self)
|
|
73
|
-
styles = block.call(styles) if block_given?
|
|
74
|
-
self.style = styles
|
|
75
|
-
children.each{ |view| view.repaint(stylesheet) }
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
self
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
private
|
|
82
|
-
|
|
83
|
-
def repaint_if_classes_change
|
|
84
|
-
prev_list = @_class_names.to_s
|
|
85
|
-
yield if block_given?
|
|
86
|
-
repaint if prev_list != @_class_names.to_s
|
|
87
|
-
self
|
|
88
|
-
end
|
|
89
|
-
end
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
module UnderOs::UI::Traversing
|
|
2
|
-
def first(css_rule)
|
|
3
|
-
find(css_rule)[0]
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
def find(css_rule)
|
|
7
|
-
[].tap do |result|
|
|
8
|
-
children.each do |view|
|
|
9
|
-
result << view if view.matches(css_rule)
|
|
10
|
-
view.find(css_rule).each do |sub|
|
|
11
|
-
result << sub
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def matches(css_rule)
|
|
18
|
-
UnderOs::Page::StylesMatcher.new(css_rule).match(self)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def parent(css_rule=nil)
|
|
22
|
-
if ! css_rule
|
|
23
|
-
UnderOs::UI::View.new(@_.superview) if @_.superview
|
|
24
|
-
else
|
|
25
|
-
parent = self
|
|
26
|
-
while parent.is_a?(UnderOs::UI::View) && (parent = parent.parent)
|
|
27
|
-
return parent if parent.matches(css_rule)
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def children(css_rule=nil)
|
|
33
|
-
result = @_.subviews.map{|v| UnderOs::UI::View.new(v) if v}.compact
|
|
34
|
-
css_rule ? result.select{|v| v.matches(css_rule)} : result
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def siblings(css_rule=nil)
|
|
38
|
-
parent ? (parent.children(css_rule) - [self]) : []
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def empty?
|
|
42
|
-
@_.subviews.empty?
|
|
43
|
-
end
|
|
44
|
-
end
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# The raw -> abstraction wrapping code
|
|
3
|
-
# for UI::Views
|
|
4
|
-
#
|
|
5
|
-
module UnderOs::UI::Wrap
|
|
6
|
-
INSTANCES_CACHE = {}
|
|
7
|
-
RAW_WRAPS_MAP = {}
|
|
8
|
-
WRAPS_TAGS_MAP = {}
|
|
9
|
-
|
|
10
|
-
def self.included(base)
|
|
11
|
-
base.instance_eval do
|
|
12
|
-
attr_accessor :_
|
|
13
|
-
|
|
14
|
-
def self.wraps(raw_class, options={})
|
|
15
|
-
RAW_WRAPS_MAP[self] = raw_class
|
|
16
|
-
tag(options[:tag]) if options[:tag]
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def self.tag(name)
|
|
20
|
-
WRAPS_TAGS_MAP[name.to_s] = self
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def self.new(options={}, *args, &block)
|
|
24
|
-
return INSTANCES_CACHE[options] if INSTANCES_CACHE[options]
|
|
25
|
-
|
|
26
|
-
if options.is_a?(UIView)
|
|
27
|
-
klass = find_wrap_for(options.class)
|
|
28
|
-
view = options; options = args.shift || {}
|
|
29
|
-
else
|
|
30
|
-
klass = self
|
|
31
|
-
view = find_raw_class_for(self).alloc
|
|
32
|
-
if view.class == UICollectionView
|
|
33
|
-
view.initWithFrame([[0, 0], [0, 0]], collectionViewLayout: UICollectionViewFlowLayout.alloc.init)
|
|
34
|
-
else
|
|
35
|
-
view.initWithFrame([[0, 0], [0, 0]])
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
return nil if ! klass
|
|
40
|
-
|
|
41
|
-
klass.alloc.tap do |inst|
|
|
42
|
-
INSTANCES_CACHE[inst._ = view] = inst
|
|
43
|
-
inst.__send__ :initialize, options, *args, &block
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def self.rewrap(view, *args, &block)
|
|
48
|
-
view = view._ if view.is_a?(UnderOs::UI::View)
|
|
49
|
-
|
|
50
|
-
alloc.tap do |inst|
|
|
51
|
-
INSTANCES_CACHE[inst._ = view] = inst
|
|
52
|
-
inst.__send__ :initialize, *args, &block
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def self.find_wrap_for(raw_class)
|
|
57
|
-
RAW_WRAPS_MAP.each do |wrap, raw|
|
|
58
|
-
return wrap if raw == raw_class
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
return nil
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def self.find_raw_class_for(wrap)
|
|
65
|
-
while wrap
|
|
66
|
-
return RAW_WRAPS_MAP[wrap] if RAW_WRAPS_MAP[wrap]
|
|
67
|
-
wrap = wrap.superclass
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def self.wrap_for(raw_view)
|
|
72
|
-
INSTANCES_CACHE[raw_view]
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
end
|
data/lib/under_os/ui/view.rb
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
class UnderOs::UI::View
|
|
2
|
-
include UnderOs::UI::Wrap
|
|
3
|
-
include UnderOs::UI::Events
|
|
4
|
-
include UnderOs::UI::Styles
|
|
5
|
-
include UnderOs::UI::Commons
|
|
6
|
-
include UnderOs::UI::Animation
|
|
7
|
-
include UnderOs::UI::Dimensions
|
|
8
|
-
include UnderOs::UI::Traversing
|
|
9
|
-
include UnderOs::UI::Manipulation
|
|
10
|
-
|
|
11
|
-
wraps UIView, tag: 'view'
|
|
12
|
-
|
|
13
|
-
def initialize(options={})
|
|
14
|
-
self.id = options.delete(:id) if options.has_key?(:id)
|
|
15
|
-
self.className = options.delete(:class) if options.has_key?(:class)
|
|
16
|
-
self.style = options.delete(:style) if options.has_key?(:style)
|
|
17
|
-
self.on = options.delete(:on) if options.has_key?(:on)
|
|
18
|
-
self.data = options.delete(:data) if options.has_key?(:data)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def inspect
|
|
22
|
-
params = {tag: tagName}
|
|
23
|
-
params[:id] = id if id
|
|
24
|
-
params[:class] = className unless classNames.empty?
|
|
25
|
-
params = params.map do |key, value|
|
|
26
|
-
"#{key}=\"#{value}\""
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
"#<#{self.class.name} #{params.join(" ")}>"
|
|
30
|
-
end
|
|
31
|
-
end
|
data/resources/test.png
DELETED
|
Binary file
|
data/spec/assets/app.css
DELETED
data/spec/assets/test.css
DELETED
data/spec/assets/test.html
DELETED
data/spec/assets/test_page.rb
DELETED
data/spec/lib/core/hash_spec.rb
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
describe Hash do
|
|
2
|
-
describe '#to_query' do
|
|
3
|
-
it "converts a simple hash into a query string" do
|
|
4
|
-
{a: 1, b: 2}.to_query.should == 'a=1&b=2'
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
it "converts nested hashes into queries correctly" do
|
|
8
|
-
{a: 1, b: {c: {d: 4}}}.to_query.should == 'a=1&b%5Bc%5D%5Bd%5D=4'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
it "handles array values correctly" do
|
|
12
|
-
{a: [1,2,3,4]}.to_query.should == 'a%5B%5D=1&a%5B%5D=2&a%5B%5D=3&a%5B%5D=4'
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "escapes any URL sensitive characters in the values" do
|
|
16
|
-
{a: '%= '}.to_query.should == 'a=%25=%20'
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
data/spec/lib/core/json_spec.rb
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
describe JSON do
|
|
2
|
-
describe ".parse" do
|
|
3
|
-
it "parses correct json strings" do
|
|
4
|
-
JSON.parse('{"a":1,"b":true,"c":["data"]}').should == {
|
|
5
|
-
"a" => 1, "b" => true, "c" => ["data"]
|
|
6
|
-
}
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
it "raises an exception on malformed data" do
|
|
10
|
-
-> {
|
|
11
|
-
JSON.parse("malformed")
|
|
12
|
-
}.should.raise(JSON::Malformed)
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
describe ".generate" do
|
|
17
|
-
it "generates JSON string out of objects" do
|
|
18
|
-
JSON.generate({a:1, b:true, c:[:data]}).should ==
|
|
19
|
-
'{"a":1,"b":true,"c":["data"]}'
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it "generates pretty print when asked" do
|
|
23
|
-
JSON.generate({a:1, b:true, c:[:data]}, :pretty).should ==
|
|
24
|
-
"{\n \"a\" : 1,\n \"b\" : true,\n \"c\" : [\n \"data\"\n ]\n}"
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it "allows to export things directly of objects" do
|
|
28
|
-
{a:1, b:true, c:[:data]}.to_json.should ==
|
|
29
|
-
'{"a":1,"b":true,"c":["data"]}'
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
describe Numeric do
|
|
2
|
-
|
|
3
|
-
describe '#milliseconds' do
|
|
4
|
-
it "returns timer duration in milliseconds" do
|
|
5
|
-
10.milliseconds.should == UnderOs::Timer::Duration.new(0.01)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it "has the 'ms' alias" do
|
|
9
|
-
10.milliseconds.should == 10.ms
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe '#seconds' do
|
|
14
|
-
it "returns the time duration in seconds" do
|
|
15
|
-
10.seconds.should == UnderOs::Timer::Duration.new(10)
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
describe '#minutes' do
|
|
20
|
-
it "returns the time duration in minutes" do
|
|
21
|
-
10.minutes.should == UnderOs::Timer::Duration.new(10 * 60)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
describe '#hours' do
|
|
26
|
-
it "returns the time duration in hours" do
|
|
27
|
-
10.hours.should == UnderOs::Timer::Duration.new(10 * 60 * 60)
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
describe '#days' do
|
|
32
|
-
it "returns the time duration in days" do
|
|
33
|
-
10.days.should == UnderOs::Timer::Duration.new(10 * 60 * 60 * 24)
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
end
|