AXElements 0.8.1 → 0.9.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.
- data/.yardopts +4 -0
- data/History.markdown +41 -0
- data/README.markdown +59 -62
- data/Rakefile +1 -1
- data/ext/accessibility/key_coder/extconf.rb +1 -1
- data/ext/accessibility/key_coder/key_coder.c +8 -5
- data/lib/accessibility/dsl.rb +261 -87
- data/lib/accessibility/enumerators.rb +14 -11
- data/lib/accessibility/errors.rb +4 -3
- data/lib/accessibility/factory.rb +159 -108
- data/lib/accessibility/graph.rb +13 -9
- data/lib/accessibility/{pp_inspector.rb → pretty_printer.rb} +4 -5
- data/lib/accessibility/qualifier.rb +23 -13
- data/lib/accessibility/string.rb +4 -4
- data/lib/accessibility/system_info.rb +230 -0
- data/lib/accessibility/translator.rb +38 -28
- data/lib/accessibility/version.rb +24 -2
- data/lib/accessibility.rb +25 -8
- data/lib/ax/application.rb +207 -77
- data/lib/ax/element.rb +62 -65
- data/lib/ax/menu.rb +5 -1
- data/lib/ax/row.rb +1 -1
- data/lib/ax/scroll_area.rb +7 -6
- data/lib/ax/systemwide.rb +38 -5
- data/lib/ax_elements/active_support_selections.rb +10 -0
- data/lib/ax_elements/mri.rb +57 -0
- data/lib/ax_elements/nsarray_compat.rb +97 -17
- data/lib/ax_elements.rb +9 -1
- data/rakelib/gem.rake +11 -11
- data/rakelib/test.rake +0 -9
- data/test/helper.rb +10 -18
- data/test/integration/accessibility/test_dsl.rb +52 -42
- data/test/integration/accessibility/test_enumerators.rb +0 -1
- data/test/integration/accessibility/test_graph.rb +1 -0
- data/test/integration/accessibility/test_qualifier.rb +2 -2
- data/test/integration/ax/test_application.rb +9 -2
- data/test/integration/ax/test_element.rb +41 -1
- data/test/sanity/accessibility/test_factory.rb +23 -56
- data/test/sanity/accessibility/{test_pp_inspector.rb → test_pretty_printer.rb} +9 -9
- data/test/sanity/accessibility/test_translator.rb +2 -5
- data/test/sanity/accessibility/test_version.rb +15 -0
- data/test/sanity/ax/test_application.rb +17 -2
- data/test/sanity/ax/test_element.rb +2 -2
- data/test/sanity/ax_elements/test_nsobject_inspect.rb +4 -2
- data/test/sanity/test_ax_elements.rb +1 -0
- metadata +69 -39
- data/lib/accessibility/core.rb +0 -973
- data/lib/accessibility/highlighter.rb +0 -86
- data/lib/ax_elements/vendor/inflection_data.rb +0 -66
- data/lib/ax_elements/vendor/inflections.rb +0 -172
- data/lib/ax_elements/vendor/inflector.rb +0 -306
- data/lib/minitest/ax_elements.rb +0 -175
- data/lib/mouse.rb +0 -223
- data/lib/rspec/expectations/ax_elements.rb +0 -234
- data/test/integration/accessibility/test_core.rb +0 -18
- data/test/integration/minitest/test_ax_elements.rb +0 -89
- data/test/integration/rspec/expectations/test_ax_elements.rb +0 -102
- data/test/sanity/accessibility/test_core.rb +0 -561
- data/test/sanity/accessibility/test_highlighter.rb +0 -56
- data/test/sanity/minitest/test_ax_elements.rb +0 -17
- data/test/sanity/rspec/expectations/test_ax_elements.rb +0 -15
- data/test/sanity/test_mouse.rb +0 -19
@@ -10,13 +10,20 @@ class TestAXElement < MiniTest::Unit::TestCase
|
|
10
10
|
assert_equal app.window.close_button, list.first
|
11
11
|
end
|
12
12
|
|
13
|
+
def test_parameterized_attribute_normalizes_ranges
|
14
|
+
text = app.main_window.static_text
|
15
|
+
expected = text.value
|
16
|
+
actual = text.parameterized_attribute :string_for_range, 0..-1
|
17
|
+
assert_equal expected, actual
|
18
|
+
end
|
19
|
+
|
13
20
|
def test_search_singular_returns_array
|
14
21
|
result = app.search(:window)
|
15
22
|
assert_kind_of AX::Window, result
|
16
23
|
end
|
17
24
|
|
18
25
|
def test_search_plural
|
19
|
-
result = app.search(:
|
26
|
+
result = app.window.search(:buttons)
|
20
27
|
assert_kind_of NSArray, result
|
21
28
|
end
|
22
29
|
|
@@ -43,6 +50,13 @@ class TestAXElement < MiniTest::Unit::TestCase
|
|
43
50
|
box.set :value, '' if box
|
44
51
|
end
|
45
52
|
|
53
|
+
def test_parameterized_attribute_through_method_missing
|
54
|
+
field = app.window.static_text
|
55
|
+
expected = field.parameterized_attribute :string_for_range, 0..2
|
56
|
+
actual = field.string_for_range 0..2
|
57
|
+
assert_equal expected, actual
|
58
|
+
end
|
59
|
+
|
46
60
|
def test_invalid
|
47
61
|
refute app.invalid?
|
48
62
|
|
@@ -52,4 +66,30 @@ class TestAXElement < MiniTest::Unit::TestCase
|
|
52
66
|
assert bye.invalid?
|
53
67
|
end
|
54
68
|
|
69
|
+
def test_dump_works_for_nested_tab_groups
|
70
|
+
output = app.window.tab_group.inspect_subtree
|
71
|
+
|
72
|
+
expected = [
|
73
|
+
['AX::TabGroup', 0],
|
74
|
+
['AX::RadioButton', 1], ['AX::RadioButton', 1], ['AX::TabGroup', 1],
|
75
|
+
['AX::RadioButton', 2], ['AX::RadioButton', 2], ['AX::TabGroup', 2],
|
76
|
+
['AX::RadioButton', 3], ['AX::RadioButton', 3], ['AX::TabGroup', 3],
|
77
|
+
['AX::RadioButton', 4], ['AX::RadioButton', 4],
|
78
|
+
['AX::Group', 4],
|
79
|
+
['AX::TextField', 5], ['AX::StaticText', 6],
|
80
|
+
['AX::TextField' , 5], ['AX::StaticText', 6]
|
81
|
+
]
|
82
|
+
|
83
|
+
refute_empty output
|
84
|
+
output = output.split("\n")
|
85
|
+
|
86
|
+
until output.empty?
|
87
|
+
line = output.shift
|
88
|
+
klass, indents = expected.shift
|
89
|
+
assert_equal indents, line.match(/^\t*/).to_a.first.length, line
|
90
|
+
line.strip!
|
91
|
+
assert_match /^\#<#{klass}/, line
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
55
95
|
end
|
@@ -1,88 +1,55 @@
|
|
1
1
|
require 'test/helper'
|
2
2
|
require 'accessibility/factory'
|
3
|
-
require 'ax/element'
|
4
3
|
require 'ax/application'
|
5
4
|
|
6
|
-
|
7
|
-
class AX::Element
|
8
|
-
attr_reader :ref
|
9
|
-
end
|
10
|
-
|
11
|
-
class TestAccessibilityFactory < MiniTest::Unit::TestCase
|
12
|
-
include Accessibility::Factory
|
5
|
+
class TestAccessibilityElementFactory < MiniTest::Unit::TestCase
|
13
6
|
|
14
7
|
def window
|
15
|
-
REF.children.find { |x| x.role == KAXWindowRole }
|
8
|
+
@@window ||= REF.to_ruby.children.find { |x| x.role == KAXWindowRole }
|
16
9
|
end
|
17
10
|
|
18
11
|
def scroll_area
|
19
|
-
window.children.find { |x|
|
20
|
-
x.attributes.include?(
|
21
|
-
x.
|
12
|
+
@@scroll_area ||= window.children.find { |x|
|
13
|
+
x.attributes.include?(:description) &&
|
14
|
+
x.description == 'Test Web Area'
|
22
15
|
}
|
23
16
|
end
|
24
17
|
|
25
18
|
def web_area
|
26
|
-
scroll_area.children.find { |x| x.role == 'AXWebArea' }
|
19
|
+
@@web_area ||= scroll_area.children.find { |x| x.role == 'AXWebArea' }
|
27
20
|
end
|
28
21
|
|
29
22
|
def close_button
|
30
|
-
window.children.find { |x|
|
31
|
-
x.attributes.include?(
|
32
|
-
x.attribute(
|
23
|
+
@@close_button ||= window.children.find { |x|
|
24
|
+
x.attributes.include?(:subrole) &&
|
25
|
+
x.attribute(:subrole) == KAXCloseButtonSubrole
|
33
26
|
}
|
34
27
|
end
|
35
28
|
|
36
29
|
def test_processing_element_refs
|
37
|
-
assert_equal REF,
|
30
|
+
assert_equal REF, REF.to_ruby.instance_variable_get(:@ref)
|
38
31
|
|
39
|
-
o =
|
32
|
+
o = web_area
|
40
33
|
assert_instance_of AX::WebArea, o
|
41
34
|
|
42
|
-
# intentionally done
|
43
|
-
#
|
44
|
-
#
|
45
|
-
# used again when needed
|
35
|
+
# intentionally done twice to see if the created class is
|
36
|
+
# used again; this guarantees that the class can be created
|
37
|
+
# properly and then used again when needed
|
46
38
|
2.times do
|
47
|
-
o =
|
48
|
-
assert_instance_of AX::StandardWindow, o
|
49
|
-
o =
|
50
|
-
assert_instance_of AX::CloseButton, o
|
39
|
+
o = window
|
40
|
+
assert_instance_of AX::StandardWindow, o, 'class_for2 failed'
|
41
|
+
o = close_button
|
42
|
+
assert_instance_of AX::CloseButton, o, 'class_for2 failed'
|
51
43
|
end
|
52
44
|
|
53
45
|
2.times do
|
54
|
-
o =
|
55
|
-
assert_instance_of AX::Application, o
|
56
|
-
o =
|
57
|
-
assert_instance_of AX::ScrollArea, o
|
46
|
+
o = REF.to_ruby
|
47
|
+
assert_instance_of AX::Application, o, 'class_for failed'
|
48
|
+
o = scroll_area
|
49
|
+
assert_instance_of AX::ScrollArea, o, 'class_for failed'
|
58
50
|
end
|
59
51
|
end
|
60
52
|
|
61
|
-
|
62
|
-
assert_equal [], process_array([])
|
63
|
-
assert_equal [1], process_array([1])
|
64
|
-
|
65
|
-
expected = [AX::Application.new(REF)]
|
66
|
-
assert_equal expected, process_array([REF])
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_processing_arbitrary_objects
|
70
|
-
assert_equal 'test', process('test')
|
71
|
-
assert_equal 42, process(42)
|
72
|
-
|
73
|
-
now = Time.now
|
74
|
-
assert_equal now, process(now)
|
75
|
-
|
76
|
-
string = NSAttributedString.alloc.initWithString 'hi'
|
77
|
-
assert_equal string, process(string)
|
78
|
-
end
|
79
|
-
|
80
|
-
def test_processing_nil
|
81
|
-
assert_nil process(nil)
|
82
|
-
end
|
83
|
-
|
84
|
-
def bench_process
|
85
|
-
skip 'This is important when we get to optimizing'
|
86
|
-
end
|
53
|
+
# @todo bencmark Element#to_ruby
|
87
54
|
|
88
55
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
|
-
class
|
4
|
-
include Accessibility::
|
3
|
+
class TestAccessibilityPrettyPrinter < MiniTest::Unit::TestCase
|
4
|
+
include Accessibility::PrettyPrinter
|
5
5
|
|
6
|
-
# expected API for
|
6
|
+
# expected API for PrettyPrinter module
|
7
7
|
attr_reader :attributes
|
8
8
|
def attribute attr; @attribute; end
|
9
9
|
def size_of attr; @size_of; end
|
@@ -18,10 +18,10 @@ class TestAccessibilityPPInspector < MiniTest::Unit::TestCase
|
|
18
18
|
assert_match /value=3.14/, pp_identifier
|
19
19
|
|
20
20
|
@attribute = ''
|
21
|
-
assert_match EMPTY_STRING, pp_identifier
|
21
|
+
assert_match EMPTY_STRING, pp_identifier.to_s
|
22
22
|
|
23
23
|
@attribute = nil
|
24
|
-
assert_match EMPTY_STRING, pp_identifier
|
24
|
+
assert_match EMPTY_STRING, pp_identifier.to_s
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_identifier_using_title
|
@@ -43,8 +43,8 @@ class TestAccessibilityPPInspector < MiniTest::Unit::TestCase
|
|
43
43
|
@attribute = 'roflcopter'
|
44
44
|
assert_match /roflcopter/, pp_identifier
|
45
45
|
|
46
|
-
@attribute =
|
47
|
-
assert_equal EMPTY_STRING, pp_identifier
|
46
|
+
@attribute = ''
|
47
|
+
assert_equal EMPTY_STRING, pp_identifier.to_s
|
48
48
|
|
49
49
|
@attribute = 26
|
50
50
|
assert_match /26/, pp_identifier
|
@@ -62,11 +62,11 @@ class TestAccessibilityPPInspector < MiniTest::Unit::TestCase
|
|
62
62
|
|
63
63
|
def test_identifier_empty_string_as_final_fallback
|
64
64
|
@attributes = NSArray.array
|
65
|
-
assert_equal EMPTY_STRING, pp_identifier
|
65
|
+
assert_equal EMPTY_STRING, pp_identifier.to_s
|
66
66
|
end
|
67
67
|
|
68
68
|
def test_position
|
69
|
-
@attribute =
|
69
|
+
@attribute = CGPoint.new
|
70
70
|
assert_match /\(0\.0, 0\.0\)/, pp_position
|
71
71
|
|
72
72
|
@attribute = CGPoint.new(3.14, -5)
|
@@ -33,9 +33,8 @@ class TestAccessibilityTranslator < MiniTest::Unit::TestCase
|
|
33
33
|
assert_equal KAXIsApplicationRunningAttribute, TRANSLATOR.cocoaify(:is_application_running)
|
34
34
|
assert_equal KAXIsApplicationRunningAttribute, TRANSLATOR.cocoaify(:application_running?)
|
35
35
|
assert_equal KAXIsApplicationRunningAttribute, TRANSLATOR.cocoaify(:application_running)
|
36
|
-
end
|
37
36
|
|
38
|
-
|
37
|
+
# acronyms
|
39
38
|
assert_equal KAXURLAttribute, TRANSLATOR.cocoaify(:url)
|
40
39
|
assert_equal KAXTitleUIElementAttribute, TRANSLATOR.cocoaify(:title_ui_element)
|
41
40
|
assert_equal KAXRTFForRangeParameterizedAttribute, TRANSLATOR.cocoaify(:rtf_for_range)
|
@@ -46,12 +45,10 @@ class TestAccessibilityTranslator < MiniTest::Unit::TestCase
|
|
46
45
|
assert_equal [:main_window], TRANSLATOR.rubyize([KAXMainWindowAttribute])
|
47
46
|
assert_equal [:string_for_range], TRANSLATOR.rubyize([KAXStringForRangeParameterizedAttribute])
|
48
47
|
assert_equal [:subrole, :children], TRANSLATOR.rubyize([KAXSubroleAttribute, KAXChildrenAttribute])
|
49
|
-
end
|
50
48
|
|
51
|
-
def test_rubyize_doesnt_eat_original_data
|
52
49
|
array = [KAXTitleAttribute, KAXMainWindowAttribute]
|
53
50
|
TRANSLATOR.rubyize array
|
54
|
-
assert_equal [KAXTitleAttribute, KAXMainWindowAttribute], array
|
51
|
+
assert_equal [KAXTitleAttribute, KAXMainWindowAttribute], array, 'Should not eat original data'
|
55
52
|
end
|
56
53
|
|
57
54
|
def test_classify
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'test/runner'
|
2
|
+
require 'accessibility/version'
|
3
|
+
|
4
|
+
class TestAccessibilityVersion < MiniTest::Unit::TestCase
|
5
|
+
|
6
|
+
def test_version_is_ascii_only # RubyGems :(
|
7
|
+
assert_equal Accessibility::VERSION.encode(Encoding::ASCII), Accessibility::VERSION
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_version_method
|
11
|
+
assert_match Accessibility::VERSION, Accessibility.version
|
12
|
+
assert_match Accessibility::ENGINE, Accessibility.version
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -19,11 +19,22 @@ class TestAXApplication < MiniTest::Unit::TestCase
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_inspect
|
22
|
-
assert_match app.inspect
|
22
|
+
assert_match /children/, app.inspect
|
23
23
|
assert_match /\spid=\d+/, app.inspect
|
24
24
|
assert_match /\sfocused\[(?:✔|✘)\]/, app.inspect
|
25
25
|
end
|
26
26
|
|
27
|
+
def tset_action_methods_forward_to_perform
|
28
|
+
def app.perform name
|
29
|
+
[:cracker_jacks, name]
|
30
|
+
end
|
31
|
+
|
32
|
+
assert_equal [:cracker_jacks, :terminate], app.terminate
|
33
|
+
assert_equal [:cracker_jacks, :force_terminate], app.terminate!
|
34
|
+
assert_equal [:cracker_jacks, :hide], app.hide
|
35
|
+
assert_equal [:cracker_jacks, :unhide], app.unhide
|
36
|
+
end
|
37
|
+
|
27
38
|
def test_terminate
|
28
39
|
got_called = false
|
29
40
|
mock = Object.new
|
@@ -89,11 +100,15 @@ class TestAXApplication < MiniTest::Unit::TestCase
|
|
89
100
|
end
|
90
101
|
|
91
102
|
def test_info_plist
|
92
|
-
assert_equal '
|
103
|
+
assert_equal 'transmute', app.info_plist['CFBundleIconFile']
|
93
104
|
end
|
94
105
|
|
95
106
|
def test_version
|
96
107
|
assert_equal '1.0', app.version
|
97
108
|
end
|
98
109
|
|
110
|
+
def test_ancestor
|
111
|
+
assert_nil app.ancestor(:menu)
|
112
|
+
end
|
113
|
+
|
99
114
|
end
|
@@ -51,7 +51,7 @@ class TestAXElement < MiniTest::Unit::TestCase
|
|
51
51
|
end
|
52
52
|
|
53
53
|
# the nil case
|
54
|
-
center_test
|
54
|
+
center_test CGPoint.new, CGSize.new, CGPoint.new
|
55
55
|
# simple square with origin at zero
|
56
56
|
center_test [0,0], [2,2], [1,1]
|
57
57
|
# simple square in positive positive quadrant
|
@@ -71,7 +71,7 @@ class TestSearchResultBlankness < MiniTest::Unit::TestCase
|
|
71
71
|
|
72
72
|
def test_array_blank
|
73
73
|
[
|
74
|
-
|
74
|
+
Array.new,
|
75
75
|
[true]
|
76
76
|
].each do |ary|
|
77
77
|
assert_equal ary.empty?, ary.blank?
|
@@ -1,11 +1,13 @@
|
|
1
1
|
require 'test/runner'
|
2
2
|
|
3
|
+
if on_macruby?
|
3
4
|
class TestNSObjectExtensions < MiniTest::Unit::TestCase
|
4
5
|
# keeping this test just to make sure the version of MacRuby
|
5
6
|
# being used is new enough
|
6
7
|
def test_inspecting
|
7
|
-
|
8
|
-
|
8
|
+
url = NSURL.URLWithString('http://marketcircle.com/')
|
9
|
+
assert_equal url.description, url.inspect
|
9
10
|
end
|
10
11
|
end
|
12
|
+
end
|
11
13
|
|
metadata
CHANGED
@@ -2,31 +2,79 @@
|
|
2
2
|
name: AXElements
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.9.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Mark Rada
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-21 00:00:00 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: mouse
|
16
16
|
prerelease: false
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
23
|
-
type: :
|
22
|
+
version: 2.0.0
|
23
|
+
type: :runtime
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.0.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: screen_recorder
|
32
|
+
prerelease: false
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ~>
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: 0.1.5
|
39
|
+
type: :runtime
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.1.5
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: accessibility_core
|
48
|
+
prerelease: false
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.4.1
|
55
|
+
type: :runtime
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.4.1
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: activesupport
|
64
|
+
prerelease: false
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 3.2.10
|
71
|
+
type: :runtime
|
24
72
|
version_requirements: !ruby/object:Gem::Requirement
|
25
73
|
none: false
|
26
74
|
requirements:
|
27
75
|
- - ~>
|
28
76
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
77
|
+
version: 3.2.10
|
30
78
|
- !ruby/object:Gem::Dependency
|
31
79
|
name: yard
|
32
80
|
prerelease: false
|
@@ -35,30 +83,30 @@ dependencies:
|
|
35
83
|
requirements:
|
36
84
|
- - ~>
|
37
85
|
- !ruby/object:Gem::Version
|
38
|
-
version: 0.
|
86
|
+
version: 0.8.3
|
39
87
|
type: :development
|
40
88
|
version_requirements: !ruby/object:Gem::Requirement
|
41
89
|
none: false
|
42
90
|
requirements:
|
43
91
|
- - ~>
|
44
92
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
93
|
+
version: 0.8.3
|
46
94
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
95
|
+
name: kramdown
|
48
96
|
prerelease: false
|
49
97
|
requirement: !ruby/object:Gem::Requirement
|
50
98
|
none: false
|
51
99
|
requirements:
|
52
100
|
- - ~>
|
53
101
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
102
|
+
version: 0.14.1
|
55
103
|
type: :development
|
56
104
|
version_requirements: !ruby/object:Gem::Requirement
|
57
105
|
none: false
|
58
106
|
requirements:
|
59
107
|
- - ~>
|
60
108
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
109
|
+
version: 0.14.1
|
62
110
|
description: 'AXElements is a UI automation DSL built on top of the Mac OS X Accessibility
|
63
111
|
|
64
112
|
Framework that allows code to be written in a very natural and declarative
|
@@ -72,16 +120,15 @@ extensions:
|
|
72
120
|
- ext/accessibility/key_coder/extconf.rb
|
73
121
|
extra_rdoc_files: []
|
74
122
|
files:
|
75
|
-
- lib/accessibility/core.rb
|
76
123
|
- lib/accessibility/dsl.rb
|
77
124
|
- lib/accessibility/enumerators.rb
|
78
125
|
- lib/accessibility/errors.rb
|
79
126
|
- lib/accessibility/factory.rb
|
80
127
|
- lib/accessibility/graph.rb
|
81
|
-
- lib/accessibility/
|
82
|
-
- lib/accessibility/pp_inspector.rb
|
128
|
+
- lib/accessibility/pretty_printer.rb
|
83
129
|
- lib/accessibility/qualifier.rb
|
84
130
|
- lib/accessibility/string.rb
|
131
|
+
- lib/accessibility/system_info.rb
|
85
132
|
- lib/accessibility/translator.rb
|
86
133
|
- lib/accessibility/version.rb
|
87
134
|
- lib/accessibility.rb
|
@@ -95,17 +142,13 @@ files:
|
|
95
142
|
- lib/ax/scroll_area.rb
|
96
143
|
- lib/ax/static_text.rb
|
97
144
|
- lib/ax/systemwide.rb
|
145
|
+
- lib/ax_elements/active_support_selections.rb
|
98
146
|
- lib/ax_elements/awesome_print.rb
|
99
147
|
- lib/ax_elements/exception_workaround.rb
|
148
|
+
- lib/ax_elements/mri.rb
|
100
149
|
- lib/ax_elements/nsarray_compat.rb
|
101
|
-
- lib/ax_elements/vendor/inflection_data.rb
|
102
|
-
- lib/ax_elements/vendor/inflections.rb
|
103
|
-
- lib/ax_elements/vendor/inflector.rb
|
104
150
|
- lib/ax_elements.rb
|
105
151
|
- lib/AXElements.rb
|
106
|
-
- lib/minitest/ax_elements.rb
|
107
|
-
- lib/mouse.rb
|
108
|
-
- lib/rspec/expectations/ax_elements.rb
|
109
152
|
- ext/accessibility/key_coder/extconf.rb
|
110
153
|
- ext/accessibility/key_coder/key_coder.c
|
111
154
|
- rakelib/doc.rake
|
@@ -114,8 +157,8 @@ files:
|
|
114
157
|
- rakelib/test.rake
|
115
158
|
- Rakefile
|
116
159
|
- README.markdown
|
160
|
+
- History.markdown
|
117
161
|
- .yardopts
|
118
|
-
- test/integration/accessibility/test_core.rb
|
119
162
|
- test/integration/accessibility/test_dsl.rb
|
120
163
|
- test/integration/accessibility/test_enumerators.rb
|
121
164
|
- test/integration/accessibility/test_errors.rb
|
@@ -126,27 +169,21 @@ files:
|
|
126
169
|
- test/integration/ax/test_menu.rb
|
127
170
|
- test/integration/ax/test_row.rb
|
128
171
|
- test/integration/ax_elements/test_nsarray_compat.rb
|
129
|
-
- test/integration/minitest/test_ax_elements.rb
|
130
|
-
- test/integration/rspec/expectations/test_ax_elements.rb
|
131
|
-
- test/sanity/accessibility/test_core.rb
|
132
172
|
- test/sanity/accessibility/test_dsl.rb
|
133
173
|
- test/sanity/accessibility/test_errors.rb
|
134
174
|
- test/sanity/accessibility/test_factory.rb
|
135
|
-
- test/sanity/accessibility/
|
136
|
-
- test/sanity/accessibility/test_pp_inspector.rb
|
175
|
+
- test/sanity/accessibility/test_pretty_printer.rb
|
137
176
|
- test/sanity/accessibility/test_qualifier.rb
|
138
177
|
- test/sanity/accessibility/test_string.rb
|
139
178
|
- test/sanity/accessibility/test_translator.rb
|
179
|
+
- test/sanity/accessibility/test_version.rb
|
140
180
|
- test/sanity/ax/test_application.rb
|
141
181
|
- test/sanity/ax/test_element.rb
|
142
182
|
- test/sanity/ax/test_systemwide.rb
|
143
183
|
- test/sanity/ax_elements/test_nsarray_compat.rb
|
144
184
|
- test/sanity/ax_elements/test_nsobject_inspect.rb
|
145
|
-
- test/sanity/minitest/test_ax_elements.rb
|
146
|
-
- test/sanity/rspec/expectations/test_ax_elements.rb
|
147
185
|
- test/sanity/test_accessibility.rb
|
148
186
|
- test/sanity/test_ax_elements.rb
|
149
|
-
- test/sanity/test_mouse.rb
|
150
187
|
- test/helper.rb
|
151
188
|
homepage: http://github.com/Marketcircle/AXElements
|
152
189
|
licenses:
|
@@ -169,12 +206,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
169
206
|
version: "0"
|
170
207
|
requirements: []
|
171
208
|
rubyforge_project:
|
172
|
-
rubygems_version: 1.8.
|
209
|
+
rubygems_version: 1.8.24
|
173
210
|
signing_key:
|
174
211
|
specification_version: 3
|
175
212
|
summary: A DSL for automating GUI manipulation
|
176
213
|
test_files:
|
177
|
-
- test/integration/accessibility/test_core.rb
|
178
214
|
- test/integration/accessibility/test_dsl.rb
|
179
215
|
- test/integration/accessibility/test_enumerators.rb
|
180
216
|
- test/integration/accessibility/test_errors.rb
|
@@ -185,25 +221,19 @@ test_files:
|
|
185
221
|
- test/integration/ax/test_menu.rb
|
186
222
|
- test/integration/ax/test_row.rb
|
187
223
|
- test/integration/ax_elements/test_nsarray_compat.rb
|
188
|
-
- test/integration/minitest/test_ax_elements.rb
|
189
|
-
- test/integration/rspec/expectations/test_ax_elements.rb
|
190
|
-
- test/sanity/accessibility/test_core.rb
|
191
224
|
- test/sanity/accessibility/test_dsl.rb
|
192
225
|
- test/sanity/accessibility/test_errors.rb
|
193
226
|
- test/sanity/accessibility/test_factory.rb
|
194
|
-
- test/sanity/accessibility/
|
195
|
-
- test/sanity/accessibility/test_pp_inspector.rb
|
227
|
+
- test/sanity/accessibility/test_pretty_printer.rb
|
196
228
|
- test/sanity/accessibility/test_qualifier.rb
|
197
229
|
- test/sanity/accessibility/test_string.rb
|
198
230
|
- test/sanity/accessibility/test_translator.rb
|
231
|
+
- test/sanity/accessibility/test_version.rb
|
199
232
|
- test/sanity/ax/test_application.rb
|
200
233
|
- test/sanity/ax/test_element.rb
|
201
234
|
- test/sanity/ax/test_systemwide.rb
|
202
235
|
- test/sanity/ax_elements/test_nsarray_compat.rb
|
203
236
|
- test/sanity/ax_elements/test_nsobject_inspect.rb
|
204
|
-
- test/sanity/minitest/test_ax_elements.rb
|
205
|
-
- test/sanity/rspec/expectations/test_ax_elements.rb
|
206
237
|
- test/sanity/test_accessibility.rb
|
207
238
|
- test/sanity/test_ax_elements.rb
|
208
|
-
- test/sanity/test_mouse.rb
|
209
239
|
- test/helper.rb
|