furter 0.0.3.2 → 0.0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTk5M2Q2MjQ0NDc1N2NiODA2OTk0Njg2Y2IyNjIyMGI4M2I2MzU0MQ==
4
+ MmEyYjkzYjFiZDM2N2ZmZGE1NzI0MGM4NDlhMzc4MGEwYTRiOGMyOQ==
5
5
  data.tar.gz: !binary |-
6
- NTE2YmY2NmJmODI3NjY3ZDcwMzQwZTdkZTBiYjM1ZTIyZjk3NzY5Mw==
7
- !binary "U0hBNTEy":
6
+ MGNlNGMwNzA2NTQyZWVkYzE4NjQwNDk5NGY0ZDM0ODVlYjRlMWM4ZA==
7
+ SHA512:
8
8
  metadata.gz: !binary |-
9
- NDQ2NzA1MzI4OTc0ZGQyYTc2ZjdmMjI0YTdlYTVjM2ExODcxMjA0NWEzY2Ji
10
- NzhmZTM3NTMzN2QyNjFiOGQ4OTRiYzkxNTQxMDk4ZTZhYzcyYTk1ZGU5ZGFk
11
- M2FlNzM4YjU3YzQzYTgzMDgxOTkxNjkxYWY0MjgxYzBkYzcxMDQ=
9
+ ZWMyMjIwMzk3M2M5NWM2YTQ1MGZjYTc0NDUyN2RlZWUwZjk2NjQyMDM3MzJi
10
+ MDlhZGQxNDRjYzc2Zjc5YmFiMGUzYTY4OGJmYzk2NGE5MDI0MTBkZWZjYzk0
11
+ ZWFiMjg3YWM1ZTU5ZTkxYWQ5MGQxZDExNGMxYjliMjBjOTc4MWQ=
12
12
  data.tar.gz: !binary |-
13
- MDIzNjlmMDA2ZmExNzVjNDQ3ZDBiZjQwZmNkNTIwZjdhM2U5Y2M1NTFhMmY1
14
- NGNiNzE0YzNiZjhiZjBiYmQyMzI0ZGI1MTYwMzY0MGViOTMzNDM5MmVmZjE2
15
- MWQxODg2NWI4MWRhY2UzY2RkZjg4ZGVkOTFlODkwMTIwN2Q1N2Q=
13
+ NTUwZjU1ZGI5OGMzZjU3NzM3YjI2NzVhNzdiZmQ4NGU1M2FmODg2MGE3ZTQ1
14
+ ZGMyOWVmMGQ0Nzk4NDE3OTk2ODY3ODI4OGRhMWFkY2JiMTliMTIxNzVmYzFj
15
+ NGM2MDhjODhjNTIzZWE3ZjAxNmVmMGE5NmIxYWQ0ZjExM2VjN2Y=
data/.gitignore CHANGED
@@ -1,3 +1,7 @@
1
+ .DS_Store
2
+ *.xccheckout
3
+ Frank
4
+ xcuserdata
1
5
  *.gem
2
6
  *.rbc
3
7
  .bundle
data/Changelog CHANGED
@@ -1,3 +1,7 @@
1
+ === Version 0.3.3 / 2014-05-17
2
+ * fixes issue with apostrophes in the selectors
3
+ * fix for issue with UISwitch and iOS 7
4
+
1
5
  === Version 0.3.2 / 2013-09-23
2
6
  * can select a table item by index
3
7
 
@@ -1,7 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="12D78" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES" initialViewController="5">
2
+ <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5053" systemVersion="13C64" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES" initialViewController="5">
3
3
  <dependencies>
4
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
4
+ <deployment defaultVersion="1552" identifier="iOS"/>
5
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/>
5
6
  </dependencies>
6
7
  <scenes>
7
8
  <!--Navigation Controller-->
@@ -22,12 +23,17 @@
22
23
  <!--Detail View Controller - Detail-->
23
24
  <scene sceneID="16">
24
25
  <objects>
25
- <viewController storyboardIdentifier="" title="Detail" id="4" customClass="DetailViewController" sceneMemberID="viewController">
26
+ <viewController title="Detail" id="4" customClass="DetailViewController" sceneMemberID="viewController">
27
+ <layoutGuides>
28
+ <viewControllerLayoutGuide type="top" id="oPg-wo-YCs"/>
29
+ <viewControllerLayoutGuide type="bottom" id="XIX-eX-Khi"/>
30
+ </layoutGuides>
26
31
  <view key="view" contentMode="scaleToFill" id="26">
27
32
  <rect key="frame" x="0.0" y="64" width="703" height="704"/>
28
33
  <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
29
34
  <subviews>
30
35
  <label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" text="Detail view content goes here" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="27">
36
+ <rect key="frame" x="20" y="344" width="663" height="17"/>
31
37
  <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
32
38
  <accessibility key="accessibilityConfiguration" label="labelByAccessibilityLabel"/>
33
39
  <fontDescription key="fontDescription" type="system" size="system"/>
@@ -35,6 +41,7 @@
35
41
  <nil key="highlightedColor"/>
36
42
  </label>
37
43
  <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="First Field" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mEd-bW-xG3">
44
+ <rect key="frame" x="163" y="19" width="201" height="30"/>
38
45
  <accessibility key="accessibilityConfiguration" hint="First Field">
39
46
  <accessibilityTraits key="traits" none="YES"/>
40
47
  </accessibility>
@@ -46,6 +53,7 @@
46
53
  <textInputTraits key="textInputTraits"/>
47
54
  </textField>
48
55
  <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="HNa-e4-2od">
56
+ <rect key="frame" x="163" y="57" width="201" height="30"/>
49
57
  <accessibility key="accessibilityConfiguration" hint="" label="textByLabel">
50
58
  <accessibilityTraits key="traits" none="YES"/>
51
59
  </accessibility>
@@ -53,75 +61,63 @@
53
61
  <textInputTraits key="textInputTraits"/>
54
62
  </textField>
55
63
  <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Placeholder" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="79f-eU-bDt">
64
+ <rect key="frame" x="20" y="23" width="91" height="20"/>
56
65
  <fontDescription key="fontDescription" type="system" pointSize="17"/>
57
66
  <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
58
67
  <nil key="highlightedColor"/>
59
68
  </label>
60
69
  <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nbu-fr-Znd">
70
+ <rect key="frame" x="20" y="60" width="42" height="21"/>
61
71
  <fontDescription key="fontDescription" type="system" pointSize="17"/>
62
72
  <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
63
73
  <nil key="highlightedColor"/>
64
74
  </label>
65
75
  <switch opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Nyi-ck-8hR">
76
+ <rect key="frame" x="427" y="60" width="51" height="31"/>
66
77
  <accessibility key="accessibilityConfiguration" label="switchToggle"/>
67
78
  </switch>
68
79
  <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MgB-Y1-P3J">
80
+ <rect key="frame" x="163" y="120" width="155" height="30"/>
69
81
  <constraints>
70
82
  <constraint firstAttribute="width" constant="155" id="1Nz-03-QXb"/>
71
83
  </constraints>
72
- <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
73
84
  <state key="normal" title="Some Button">
74
- <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
75
85
  <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
76
86
  </state>
77
- <state key="highlighted">
78
- <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
79
- </state>
80
87
  <connections>
81
88
  <action selector="someButtonClick:" destination="4" eventType="touchDown" id="LKw-by-anH"/>
82
89
  </connections>
83
90
  </button>
84
91
  <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6Hu-uu-EUY">
85
- <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
92
+ <rect key="frame" x="163" y="158" width="155" height="30"/>
86
93
  <state key="normal" title="Labeled Button">
87
- <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
88
94
  <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
89
95
  </state>
90
- <state key="highlighted">
91
- <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
92
- </state>
93
96
  <connections>
94
97
  <action selector="onLabeledButtonClicked:" destination="4" eventType="touchDown" id="SRl-Pb-TKU"/>
95
98
  </connections>
96
99
  </button>
97
100
  <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="n4M-Kb-ePv">
98
- <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
101
+ <rect key="frame" x="163" y="196" width="155" height="30"/>
99
102
  <state key="normal" title="Go Elsewhere">
100
- <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
101
103
  <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
102
104
  </state>
103
- <state key="highlighted">
104
- <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
105
- </state>
106
105
  <connections>
107
106
  <segue destination="2m6-NE-oGx" kind="push" id="g3T-p0-Sec"/>
108
107
  </connections>
109
108
  </button>
110
109
  <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" translatesAutoresizingMaskIntoConstraints="NO" id="wB4-9F-vl7">
110
+ <rect key="frame" x="204" y="424" width="292" height="31"/>
111
111
  <accessibility key="accessibilityConfiguration" label="sliderByLabel"/>
112
112
  <constraints>
113
113
  <constraint firstAttribute="width" constant="288" id="dCS-tQ-uoe"/>
114
114
  </constraints>
115
115
  </slider>
116
116
  <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yGC-o4-z18">
117
- <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
117
+ <rect key="frame" x="163" y="234" width="155" height="30"/>
118
118
  <state key="normal" title="Tables">
119
- <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
120
119
  <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
121
120
  </state>
122
- <state key="highlighted">
123
- <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
124
- </state>
125
121
  <connections>
126
122
  <action selector="showTables:" destination="4" eventType="touchUpInside" id="sVv-C0-lie"/>
127
123
  </connections>
@@ -129,37 +125,38 @@
129
125
  </subviews>
130
126
  <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
131
127
  <constraints>
132
- <constraint firstItem="HNa-e4-2od" firstAttribute="leading" secondItem="mEd-bW-xG3" secondAttribute="leading" type="default" id="078-hV-XP8"/>
133
- <constraint firstItem="yGC-o4-z18" firstAttribute="leading" secondItem="n4M-Kb-ePv" secondAttribute="leading" type="default" id="0P7-h0-m30"/>
134
- <constraint firstItem="79f-eU-bDt" firstAttribute="leading" secondItem="26" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="1JC-Aj-NzB"/>
135
- <constraint firstItem="n4M-Kb-ePv" firstAttribute="top" secondItem="6Hu-uu-EUY" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="9II-fH-f7K"/>
136
- <constraint firstAttribute="trailing" secondItem="27" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="CON-Cb-dBe"/>
128
+ <constraint firstItem="HNa-e4-2od" firstAttribute="leading" secondItem="mEd-bW-xG3" secondAttribute="leading" id="078-hV-XP8"/>
129
+ <constraint firstItem="yGC-o4-z18" firstAttribute="leading" secondItem="n4M-Kb-ePv" secondAttribute="leading" id="0P7-h0-m30"/>
130
+ <constraint firstItem="79f-eU-bDt" firstAttribute="leading" secondItem="26" secondAttribute="leading" constant="20" symbolic="YES" id="1JC-Aj-NzB"/>
131
+ <constraint firstItem="n4M-Kb-ePv" firstAttribute="top" secondItem="6Hu-uu-EUY" secondAttribute="bottom" constant="8" symbolic="YES" id="9II-fH-f7K"/>
132
+ <constraint firstAttribute="trailing" secondItem="27" secondAttribute="trailing" constant="20" symbolic="YES" id="CON-Cb-dBe"/>
137
133
  <constraint firstAttribute="trailing" secondItem="Nyi-ck-8hR" secondAttribute="trailing" constant="227" id="G0P-fu-R9M"/>
138
- <constraint firstItem="6Hu-uu-EUY" firstAttribute="leading" secondItem="MgB-Y1-P3J" secondAttribute="leading" type="default" id="GwV-n1-zD7"/>
139
- <constraint firstItem="HNa-e4-2od" firstAttribute="top" secondItem="mEd-bW-xG3" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="IGG-em-f1e"/>
134
+ <constraint firstItem="6Hu-uu-EUY" firstAttribute="leading" secondItem="MgB-Y1-P3J" secondAttribute="leading" id="GwV-n1-zD7"/>
135
+ <constraint firstItem="HNa-e4-2od" firstAttribute="top" secondItem="mEd-bW-xG3" secondAttribute="bottom" constant="8" symbolic="YES" id="IGG-em-f1e"/>
140
136
  <constraint firstItem="mEd-bW-xG3" firstAttribute="top" secondItem="26" secondAttribute="top" constant="19" id="KGI-gf-TAe"/>
141
- <constraint firstItem="27" firstAttribute="leading" secondItem="26" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="LAk-gc-aCl"/>
142
- <constraint firstItem="nbu-fr-Znd" firstAttribute="baseline" secondItem="HNa-e4-2od" secondAttribute="baseline" type="default" id="M5i-yy-h0N"/>
143
- <constraint firstItem="6Hu-uu-EUY" firstAttribute="top" secondItem="MgB-Y1-P3J" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="MWf-xM-HxM"/>
144
- <constraint firstItem="yGC-o4-z18" firstAttribute="top" secondItem="n4M-Kb-ePv" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="Obt-JM-krp"/>
145
- <constraint firstItem="nbu-fr-Znd" firstAttribute="leading" secondItem="26" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="RZE-cI-a2V"/>
146
- <constraint firstItem="MgB-Y1-P3J" firstAttribute="leading" secondItem="HNa-e4-2od" secondAttribute="leading" type="default" id="TI6-aB-T6l"/>
147
- <constraint firstItem="6Hu-uu-EUY" firstAttribute="trailing" secondItem="MgB-Y1-P3J" secondAttribute="trailing" type="default" id="Tkv-gE-Bb0"/>
137
+ <constraint firstItem="27" firstAttribute="leading" secondItem="26" secondAttribute="leading" constant="20" symbolic="YES" id="LAk-gc-aCl"/>
138
+ <constraint firstItem="nbu-fr-Znd" firstAttribute="baseline" secondItem="HNa-e4-2od" secondAttribute="baseline" id="M5i-yy-h0N"/>
139
+ <constraint firstItem="6Hu-uu-EUY" firstAttribute="top" secondItem="MgB-Y1-P3J" secondAttribute="bottom" constant="8" symbolic="YES" id="MWf-xM-HxM"/>
140
+ <constraint firstItem="yGC-o4-z18" firstAttribute="top" secondItem="n4M-Kb-ePv" secondAttribute="bottom" constant="8" symbolic="YES" id="Obt-JM-krp"/>
141
+ <constraint firstItem="nbu-fr-Znd" firstAttribute="leading" secondItem="26" secondAttribute="leading" constant="20" symbolic="YES" id="RZE-cI-a2V"/>
142
+ <constraint firstItem="MgB-Y1-P3J" firstAttribute="leading" secondItem="HNa-e4-2od" secondAttribute="leading" id="TI6-aB-T6l"/>
143
+ <constraint firstItem="6Hu-uu-EUY" firstAttribute="trailing" secondItem="MgB-Y1-P3J" secondAttribute="trailing" id="Tkv-gE-Bb0"/>
148
144
  <constraint firstItem="79f-eU-bDt" firstAttribute="top" secondItem="26" secondAttribute="top" constant="23" id="WAb-82-oiE"/>
149
145
  <constraint firstAttribute="bottom" secondItem="wB4-9F-vl7" secondAttribute="bottom" constant="250" id="bJ6-kP-IlL"/>
150
- <constraint firstItem="HNa-e4-2od" firstAttribute="trailing" secondItem="mEd-bW-xG3" secondAttribute="trailing" type="default" id="e4T-wS-zIa"/>
151
- <constraint firstItem="27" firstAttribute="centerY" secondItem="26" secondAttribute="centerY" type="default" id="fbb-bQ-YI1"/>
146
+ <constraint firstItem="HNa-e4-2od" firstAttribute="trailing" secondItem="mEd-bW-xG3" secondAttribute="trailing" id="e4T-wS-zIa"/>
147
+ <constraint firstItem="27" firstAttribute="centerY" secondItem="26" secondAttribute="centerY" id="fbb-bQ-YI1"/>
152
148
  <constraint firstItem="MgB-Y1-P3J" firstAttribute="top" secondItem="26" secondAttribute="top" constant="120" id="fxO-Da-wfr"/>
153
- <constraint firstItem="n4M-Kb-ePv" firstAttribute="leading" secondItem="6Hu-uu-EUY" secondAttribute="leading" type="default" id="gQf-GL-AtC"/>
149
+ <constraint firstItem="n4M-Kb-ePv" firstAttribute="leading" secondItem="6Hu-uu-EUY" secondAttribute="leading" id="gQf-GL-AtC"/>
154
150
  <constraint firstItem="wB4-9F-vl7" firstAttribute="leading" secondItem="26" secondAttribute="leading" constant="206" id="iFj-Np-Sq6"/>
155
- <constraint firstItem="yGC-o4-z18" firstAttribute="trailing" secondItem="n4M-Kb-ePv" secondAttribute="trailing" type="default" id="k2k-ql-gbD"/>
151
+ <constraint firstItem="yGC-o4-z18" firstAttribute="trailing" secondItem="n4M-Kb-ePv" secondAttribute="trailing" id="k2k-ql-gbD"/>
156
152
  <constraint firstItem="mEd-bW-xG3" firstAttribute="leading" secondItem="26" secondAttribute="leading" constant="163" id="kHo-k9-xfB"/>
157
- <constraint firstItem="n4M-Kb-ePv" firstAttribute="trailing" secondItem="6Hu-uu-EUY" secondAttribute="trailing" type="default" id="kXJ-R6-5W3"/>
158
- <constraint firstItem="79f-eU-bDt" firstAttribute="baseline" secondItem="mEd-bW-xG3" secondAttribute="baseline" type="default" id="piK-8v-q9x"/>
159
- <constraint firstItem="Nyi-ck-8hR" firstAttribute="top" secondItem="nbu-fr-Znd" secondAttribute="top" type="default" id="wtS-Ul-nbp"/>
153
+ <constraint firstItem="n4M-Kb-ePv" firstAttribute="trailing" secondItem="6Hu-uu-EUY" secondAttribute="trailing" id="kXJ-R6-5W3"/>
154
+ <constraint firstItem="79f-eU-bDt" firstAttribute="baseline" secondItem="mEd-bW-xG3" secondAttribute="baseline" id="piK-8v-q9x"/>
155
+ <constraint firstItem="Nyi-ck-8hR" firstAttribute="top" secondItem="nbu-fr-Znd" secondAttribute="top" id="wtS-Ul-nbp"/>
160
156
  </constraints>
161
157
  <simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/>
162
158
  </view>
159
+ <extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
163
160
  <toolbarItems/>
164
161
  <navigationItem key="navigationItem" title="Detail" id="53"/>
165
162
  <connections>
@@ -181,11 +178,16 @@
181
178
  <scene sceneID="c75-js-XhF">
182
179
  <objects>
183
180
  <viewController title="Elsewhere" id="2m6-NE-oGx" sceneMemberID="viewController">
181
+ <layoutGuides>
182
+ <viewControllerLayoutGuide type="top" id="Oj7-mS-nqj"/>
183
+ <viewControllerLayoutGuide type="bottom" id="O2t-xW-YIE"/>
184
+ </layoutGuides>
184
185
  <view key="view" contentMode="scaleToFill" id="L6v-eP-0Ap">
185
- <rect key="frame" x="0.0" y="64" width="703" height="704"/>
186
+ <rect key="frame" x="0.0" y="0.0" width="703" height="768"/>
186
187
  <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
187
188
  <subviews>
188
189
  <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="You are now elsewhere." lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Sw-kC-LPj">
190
+ <rect key="frame" x="261" y="341" width="181" height="21"/>
189
191
  <fontDescription key="fontDescription" type="system" pointSize="17"/>
190
192
  <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
191
193
  <nil key="highlightedColor"/>
@@ -194,7 +196,7 @@
194
196
  <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
195
197
  <constraints>
196
198
  <constraint firstItem="2Sw-kC-LPj" firstAttribute="top" secondItem="L6v-eP-0Ap" secondAttribute="top" constant="341" id="fPL-qj-geg"/>
197
- <constraint firstItem="2Sw-kC-LPj" firstAttribute="centerX" secondItem="L6v-eP-0Ap" secondAttribute="centerX" type="default" id="iV6-oV-7kk"/>
199
+ <constraint firstItem="2Sw-kC-LPj" firstAttribute="centerX" secondItem="L6v-eP-0Ap" secondAttribute="centerX" id="iV6-oV-7kk"/>
198
200
  </constraints>
199
201
  <simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/>
200
202
  </view>
@@ -209,7 +211,7 @@
209
211
  <objects>
210
212
  <splitViewController id="5" sceneMemberID="viewController">
211
213
  <toolbarItems/>
212
- <simulatedStatusBarMetrics key="simulatedStatusBarMetrics" statusBarStyle="blackTranslucent"/>
214
+ <simulatedStatusBarMetrics key="simulatedStatusBarMetrics" statusBarStyle="blackOpaque"/>
213
215
  <simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/>
214
216
  <connections>
215
217
  <segue destination="3" kind="relationship" relationship="masterViewController" id="9"/>
@@ -223,30 +225,29 @@
223
225
  <!--Master View Controller - Master-->
224
226
  <scene sceneID="24">
225
227
  <objects>
226
- <tableViewController storyboardIdentifier="" title="Master" clearsSelectionOnViewWillAppear="NO" id="19" customClass="MasterViewController" sceneMemberID="viewController">
227
- <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="20">
228
- <rect key="frame" x="0.0" y="64" width="320" height="704"/>
228
+ <tableViewController title="Master" clearsSelectionOnViewWillAppear="NO" id="19" customClass="MasterViewController" sceneMemberID="viewController">
229
+ <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="20">
230
+ <rect key="frame" x="0.0" y="0.0" width="320" height="768"/>
229
231
  <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
230
232
  <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
231
233
  <simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/>
232
234
  <prototypes>
233
235
  <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="tIi-5l-S0i" style="IBUITableViewCellStyleDefault" id="ZSw-0O-9Pw">
234
- <rect key="frame" x="0.0" y="22" width="320" height="44"/>
236
+ <rect key="frame" x="0.0" y="86" width="320" height="44"/>
235
237
  <autoresizingMask key="autoresizingMask"/>
236
- <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
238
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ZSw-0O-9Pw" id="6bz-Nk-434">
237
239
  <rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
238
240
  <autoresizingMask key="autoresizingMask"/>
239
241
  <subviews>
240
242
  <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="tIi-5l-S0i">
241
- <rect key="frame" x="10" y="0.0" width="300" height="43"/>
243
+ <rect key="frame" x="15" y="0.0" width="290" height="43"/>
242
244
  <autoresizingMask key="autoresizingMask"/>
243
245
  <fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
244
246
  <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
245
247
  <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
246
248
  </label>
247
249
  </subviews>
248
- <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
249
- </view>
250
+ </tableViewCellContentView>
250
251
  <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
251
252
  </tableViewCell>
252
253
  </prototypes>
@@ -279,8 +280,8 @@
279
280
  </scene>
280
281
  </scenes>
281
282
  <simulatedMetricsContainer key="defaultSimulatedMetrics">
282
- <simulatedStatusBarMetrics key="statusBar" statusBarStyle="blackTranslucent"/>
283
+ <simulatedStatusBarMetrics key="statusBar"/>
283
284
  <simulatedOrientationMetrics key="orientation"/>
284
285
  <simulatedScreenMetrics key="destination"/>
285
286
  </simulatedMetricsContainer>
286
- </document>
287
+ </document>
@@ -1,7 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="12D78" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="3">
2
+ <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5053" systemVersion="13C64" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="3">
3
3
  <dependencies>
4
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
4
+ <deployment defaultVersion="1552" identifier="iOS"/>
5
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/>
5
6
  </dependencies>
6
7
  <scenes>
7
8
  <!--Navigation Controller-->
@@ -22,29 +23,28 @@
22
23
  <!--Master View Controller - Master-->
23
24
  <scene sceneID="18">
24
25
  <objects>
25
- <tableViewController storyboardIdentifier="" title="Master" id="12" customClass="MasterViewController" sceneMemberID="viewController">
26
- <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="13">
27
- <rect key="frame" x="0.0" y="64" width="320" height="504"/>
26
+ <tableViewController title="Master" id="12" customClass="MasterViewController" sceneMemberID="viewController">
27
+ <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="13">
28
+ <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
28
29
  <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
29
30
  <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
30
31
  <prototypes>
31
32
  <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="phq-AM-6qj" style="IBUITableViewCellStyleDefault" id="lJ0-d7-vTF">
32
- <rect key="frame" x="0.0" y="22" width="320" height="44"/>
33
+ <rect key="frame" x="0.0" y="86" width="320" height="44"/>
33
34
  <autoresizingMask key="autoresizingMask"/>
34
- <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
35
- <rect key="frame" x="0.0" y="0.0" width="300" height="43"/>
35
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="lJ0-d7-vTF" id="XfA-LH-DZO">
36
+ <rect key="frame" x="0.0" y="0.0" width="287" height="43"/>
36
37
  <autoresizingMask key="autoresizingMask"/>
37
38
  <subviews>
38
39
  <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="phq-AM-6qj">
39
- <rect key="frame" x="10" y="0.0" width="280" height="43"/>
40
+ <rect key="frame" x="15" y="0.0" width="270" height="43"/>
40
41
  <autoresizingMask key="autoresizingMask"/>
41
42
  <fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
42
43
  <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
43
44
  <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
44
45
  </label>
45
46
  </subviews>
46
- <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
47
- </view>
47
+ </tableViewCellContentView>
48
48
  <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
49
49
  <connections>
50
50
  <segue destination="21" kind="push" identifier="showDetail" id="jZb-fq-zAk"/>
@@ -66,35 +66,36 @@
66
66
  <!--Detail View Controller - Detail-->
67
67
  <scene sceneID="24">
68
68
  <objects>
69
- <viewController storyboardIdentifier="" title="Detail" id="21" customClass="DetailViewController" sceneMemberID="viewController">
69
+ <viewController title="Detail" id="21" customClass="DetailViewController" sceneMemberID="viewController">
70
+ <layoutGuides>
71
+ <viewControllerLayoutGuide type="top" id="jXf-FB-Fgb"/>
72
+ <viewControllerLayoutGuide type="bottom" id="krh-jV-bGI"/>
73
+ </layoutGuides>
70
74
  <view key="view" contentMode="scaleToFill" id="22">
71
- <rect key="frame" x="0.0" y="64" width="320" height="504"/>
75
+ <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
72
76
  <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
73
77
  <subviews>
74
78
  <label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" text="Detail view content goes here" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="27">
79
+ <rect key="frame" x="20" y="9" width="280" height="17"/>
75
80
  <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
76
81
  <fontDescription key="fontDescription" type="system" size="system"/>
77
82
  <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
78
83
  <nil key="highlightedColor"/>
79
84
  </label>
80
85
  <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BGA-y0-odx">
81
- <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
86
+ <rect key="frame" x="20" y="431" width="46" height="30"/>
82
87
  <state key="normal" title="Button">
83
- <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
84
88
  <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
85
89
  </state>
86
- <state key="highlighted">
87
- <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
88
- </state>
89
90
  </button>
90
91
  </subviews>
91
92
  <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
92
93
  <constraints>
93
94
  <constraint firstAttribute="bottom" secondItem="BGA-y0-odx" secondAttribute="bottom" constant="107" id="Oz5-UI-e4N"/>
94
- <constraint firstItem="27" firstAttribute="leading" secondItem="22" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="R0m-z7-TWk"/>
95
- <constraint firstItem="BGA-y0-odx" firstAttribute="leading" secondItem="22" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="a4V-WS-rvQ"/>
95
+ <constraint firstItem="27" firstAttribute="leading" secondItem="22" secondAttribute="leading" constant="20" symbolic="YES" id="R0m-z7-TWk"/>
96
+ <constraint firstItem="BGA-y0-odx" firstAttribute="leading" secondItem="22" secondAttribute="leading" constant="20" symbolic="YES" id="a4V-WS-rvQ"/>
96
97
  <constraint firstItem="27" firstAttribute="top" secondItem="22" secondAttribute="top" constant="9" id="fqs-Iu-ZEi"/>
97
- <constraint firstAttribute="trailing" secondItem="27" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="pRe-qY-58T"/>
98
+ <constraint firstAttribute="trailing" secondItem="27" secondAttribute="trailing" constant="20" symbolic="YES" id="pRe-qY-58T"/>
98
99
  </constraints>
99
100
  </view>
100
101
  <navigationItem key="navigationItem" title="Detail" id="26"/>
@@ -107,23 +108,9 @@
107
108
  <point key="canvasLocation" x="902" y="64"/>
108
109
  </scene>
109
110
  </scenes>
110
- <classes>
111
- <class className="DetailViewController" superclassName="UIViewController">
112
- <source key="sourceIdentifier" type="project" relativePath="./Classes/DetailViewController.h"/>
113
- <relationships>
114
- <relationship kind="outlet" name="detailDescriptionLabel" candidateClass="UILabel"/>
115
- </relationships>
116
- </class>
117
- <class className="MasterViewController" superclassName="UITableViewController">
118
- <source key="sourceIdentifier" type="project" relativePath="./Classes/MasterViewController.h"/>
119
- </class>
120
- <class className="NSLayoutConstraint" superclassName="NSObject">
121
- <source key="sourceIdentifier" type="project" relativePath="./Classes/NSLayoutConstraint.h"/>
122
- </class>
123
- </classes>
124
111
  <simulatedMetricsContainer key="defaultSimulatedMetrics">
125
112
  <simulatedStatusBarMetrics key="statusBar"/>
126
113
  <simulatedOrientationMetrics key="orientation"/>
127
114
  <simulatedScreenMetrics key="destination" type="retina4"/>
128
115
  </simulatedMetricsContainer>
129
- </document>
116
+ </document>
@@ -1,3 +1,3 @@
1
1
  Before do
2
- launch_app APP_BUNDLE_PATH, '6.1', 'ipad'
2
+ launch_app APP_BUNDLE_PATH, '7.1', 'ipad'
3
3
  end
@@ -47,6 +47,12 @@ module Furter
47
47
  touch locator
48
48
  end
49
49
  end
50
+
51
+ def wait_for_and_tap(locator, duration)
52
+ wait_for(locator) do |locator|
53
+ tap_and_hold locator, duration
54
+ end
55
+ end
50
56
  end
51
57
 
52
58
 
@@ -10,7 +10,7 @@ module Furter
10
10
 
11
11
  private
12
12
  def selector
13
- "view:'UIAlertView' view:'UIAlertButton' marked:'#{@locator[:text]}'"
13
+ "view:\"UIAlertView\" view:\"UIAlertButton\" marked:\"#{@locator[:text]}\""
14
14
  end
15
15
  end
16
16
  end
@@ -5,7 +5,7 @@ module Furter
5
5
  def view_class
6
6
  case
7
7
  when @locator[:type]
8
- "view:'#{@locator[:type]}'"
8
+ "view:\"#{@locator[:type]}\""
9
9
  when @locator[:text]
10
10
  "button label"
11
11
  else
@@ -10,7 +10,7 @@ module Furter
10
10
 
11
11
  private
12
12
  def selector
13
- "view:'MKPinAnnotationView' marked:'#{@locator[:text]}'"
13
+ "view:\"MKPinAnnotationView\" marked:\"#{@locator[:text]}\""
14
14
  end
15
15
  end
16
16
  end
@@ -11,8 +11,8 @@ module Furter
11
11
  end
12
12
 
13
13
  def view_class
14
- return "view:'#{@locator[:type]}'" if @locator[:type]
15
- "view:'UISlider'"
14
+ return "view:\"#{@locator[:type]}\"" if @locator[:type]
15
+ "view:\"UISlider\""
16
16
  end
17
17
  end
18
18
  end
@@ -8,12 +8,12 @@ module Furter
8
8
  end
9
9
 
10
10
  def set(on_or_off)
11
- click if on_or_off != on?
11
+ tap_and_hold_for 0.1 if on_or_off != on?
12
12
  end
13
13
 
14
14
  private
15
15
  def view_class
16
- "view:'UISwitch'"
16
+ "view:\"UISwitch\""
17
17
  end
18
18
  end
19
19
  end
@@ -9,7 +9,7 @@ module Furter
9
9
  end
10
10
  private
11
11
  def selector
12
- "view:'UITableView' marked:'#{@locator[:label]}'"
12
+ "view:\"UITableView\" marked:\"#{@locator[:label]}\""
13
13
  end
14
14
  end
15
15
  end
@@ -3,7 +3,7 @@ module Furter
3
3
  class TableItem < Button
4
4
  private
5
5
  def selector
6
- "label marked:'#{@locator[:text]}' parent tableViewCell"
6
+ "label marked:\"#{@locator[:text]}\" parent tableViewCell"
7
7
  end
8
8
  end
9
9
  end
@@ -14,13 +14,13 @@ module Furter
14
14
  end
15
15
 
16
16
  def has_text?(text)
17
- element_exists "view marked:'#{text}'"
17
+ element_exists "view marked:\"#{text}\""
18
18
  end
19
19
 
20
20
  private
21
21
  def selector
22
- return "textField placeholder:'#{@locator[:placeholder]}'" if @locator[:placeholder]
23
- return "textField marked:'#{@locator[:label]}'" if @locator[:label]
22
+ return "textField placeholder:\"#{@locator[:placeholder]}\"" if @locator[:placeholder]
23
+ return "textField marked:\"#{@locator[:label]}\"" if @locator[:label]
24
24
  end
25
25
  end
26
26
  end
@@ -8,10 +8,13 @@ module Furter
8
8
  end
9
9
 
10
10
  def click
11
-
12
11
  wait_for_and_touch selector
13
12
  end
14
13
 
14
+ def tap_and_hold_for(duration)
15
+ wait_for_and_tap(selector, duration)
16
+ end
17
+
15
18
  def visible?
16
19
  element_is_not_hidden selector
17
20
  end
@@ -21,7 +24,7 @@ module Furter
21
24
  end
22
25
 
23
26
  def next_responders
24
- frankly_map("view:'UIView'", 'nextResponder').map do |r|
27
+ frankly_map("view:\"UIView\"", 'nextResponder').map do |r|
25
28
  r.gsub(/[<>]/,'')
26
29
  end
27
30
  end
@@ -34,9 +37,9 @@ module Furter
34
37
  def selector_how
35
38
  case
36
39
  when @locator[:label]
37
- "marked:'#{@locator[:label]}'"
40
+ "marked:\"#{@locator[:label]}\""
38
41
  when @locator[:text]
39
- "text:'#{@locator[:text]}'"
42
+ "text:\"#{@locator[:text]}\""
40
43
  end
41
44
  end
42
45
 
@@ -45,7 +48,7 @@ module Furter
45
48
  end
46
49
 
47
50
  def view_class
48
- return "view:'#{@locator[:type]}'" if @locator[:type]
51
+ return "view:\"#{@locator[:type]}\"" if @locator[:type]
49
52
  "view"
50
53
  end
51
54
  end
@@ -1,3 +1,3 @@
1
1
  module Furter
2
- VERSION = "0.0.3.2"
2
+ VERSION = "0.0.3.3"
3
3
  end
@@ -7,17 +7,17 @@ describe Furter::Accessors::Button do
7
7
  context 'locating buttons' do
8
8
  it 'can be found by text' do
9
9
  text_button = Furter::Accessors::Button.new(:text => 'Some Text')
10
- text_button.send(:selector).should eq("button label text:'Some Text'")
10
+ text_button.send(:selector).should eq("button label text:\"Some Text\"")
11
11
  end
12
12
 
13
13
  it ':text is the same as :label' do
14
14
  label_button = Furter::Accessors::Button.new(:label => 'Some Text')
15
- label_button.send(:selector).should eq("button marked:'Some Text'")
15
+ label_button.send(:selector).should eq("button marked:\"Some Text\"")
16
16
  end
17
17
 
18
18
  it 'can be a custom button type as well' do
19
19
  custom_button = Furter::Accessors::Button.new(:label => 'Some Label', :type => 'MyButtonType')
20
- custom_button.send(:selector).should eq("view:'MyButtonType' marked:'Some Label'")
20
+ custom_button.send(:selector).should eq("view:\"MyButtonType\" marked:\"Some Label\"")
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -7,12 +7,12 @@ describe Furter::Accessors::Label do
7
7
  context 'locating labels' do
8
8
  it 'can be found by accessibility label' do
9
9
  label_control = Furter::Accessors::Label.new(:label => 'someAccessibilityLabel')
10
- label_control.send(:selector).should eq("label marked:'someAccessibilityLabel'")
10
+ label_control.send(:selector).should eq("label marked:\"someAccessibilityLabel\"")
11
11
  end
12
12
 
13
13
  it 'can be found by text' do
14
14
  label_control = Furter::Accessors::Label.new(:text => 'Text Value')
15
- label_control.send(:selector).should eq("label text:'Text Value'")
15
+ label_control.send(:selector).should eq("label text:\"Text Value\"")
16
16
  end
17
17
  end
18
18
 
@@ -7,7 +7,7 @@ describe Furter::Accessors::Slider do
7
7
  context 'locating slider' do
8
8
  it 'can be found by id' do
9
9
  id_slider = Furter::Accessors::Slider.new(:label => 'someSliderLabel')
10
- id_slider.send(:selector).should eq("view:'UISlider' marked:'someSliderLabel'")
10
+ id_slider.send(:selector).should eq("view:\"UISlider\" marked:\"someSliderLabel\"")
11
11
  end
12
12
  end
13
13
 
@@ -21,4 +21,4 @@ describe Furter::Accessors::Slider do
21
21
  slider.progress.should eq(0.20)
22
22
  end
23
23
  end
24
- end
24
+ end
@@ -5,7 +5,7 @@ describe Furter::Accessors::Switch do
5
5
 
6
6
  context 'locating switches' do
7
7
  it 'can be found by label' do
8
- switch.send(:selector).should eq("view:'UISwitch' marked:'accessibilityLabel'")
8
+ switch.send(:selector).should eq("view:\"UISwitch\" marked:\"accessibilityLabel\"")
9
9
  end
10
10
  end
11
11
 
@@ -16,13 +16,13 @@ describe Furter::Accessors::Switch do
16
16
 
17
17
  it 'can turn it off or on' do
18
18
  switch.should_receive(:on?).and_return(true, false)
19
- switch.should_receive(:click).twice
19
+ switch.should_receive(:tap_and_hold_for).twice
20
20
  [false, true].each { |on_or_off| switch.set on_or_off }
21
21
  end
22
22
 
23
23
  it 'will only toggle if in the expected state' do
24
24
  switch.should_receive(:frankly_map).with(anything, 'isOn').and_return([false])
25
- switch.should_not_receive(:click)
25
+ switch.should_not_receive(:tap_and_hold_for)
26
26
  switch.set false
27
27
  end
28
- end
28
+ end
@@ -7,13 +7,13 @@ describe Furter::Accessors::Table do
7
7
 
8
8
  context 'locating table' do
9
9
  it 'can be found by id' do
10
- table.send(:selector).should eq("view:'UITableView' marked:'tableView'")
10
+ table.send(:selector).should eq("view:\"UITableView\" marked:\"tableView\"")
11
11
  end
12
12
  end
13
13
 
14
14
  context 'selecting table items' do
15
15
  it 'can select an item by index' do
16
- table.should_receive(:touch).with("view:'UITableView' marked:'tableView' tableViewCell index:0")
16
+ table.should_receive(:touch).with("view:\"UITableView\" marked:\"tableView\" tableViewCell index:0")
17
17
  table.touch_index(0)
18
18
  end
19
19
  end
@@ -6,11 +6,11 @@ describe Furter::Accessors::Text do
6
6
 
7
7
  context 'locating text fields' do
8
8
  it 'should work by placeholder' do
9
- placeholder.send(:selector).should eq("textField placeholder:'Placeholder Text'")
9
+ placeholder.send(:selector).should eq("textField placeholder:\"Placeholder Text\"")
10
10
  end
11
11
 
12
12
  it 'should work by accessibility label' do
13
- label.send(:selector).should eq("textField marked:'accessibilityLabel'")
13
+ label.send(:selector).should eq("textField marked:\"accessibilityLabel\"")
14
14
  end
15
15
  end
16
16
 
@@ -28,7 +28,7 @@ describe Furter::Accessors::Text do
28
28
  end
29
29
 
30
30
  it 'knows if text exists anywhere' do
31
- placeholder.should_receive(:element_exists).with("view marked:'to find anywhere'")
31
+ placeholder.should_receive(:element_exists).with("view marked:\"to find anywhere\"")
32
32
  placeholder.has_text? 'to find anywhere'
33
33
  end
34
34
 
@@ -7,22 +7,22 @@ describe Furter::Accessors::View do
7
7
  context 'locating views' do
8
8
  it 'can be found by accessibility label' do
9
9
  by_label = Furter::Accessors::View.new(:label => 'id')
10
- by_label.send(:selector).should eq("view marked:'id'")
10
+ by_label.send(:selector).should eq("view marked:\"id\"")
11
11
  end
12
12
 
13
13
  it 'can use a custom type' do
14
14
  by_type = Furter::Accessors::View.new(:type => 'UICustomType', :label => 'id')
15
- by_type.send(:selector).should eq("view:'UICustomType' marked:'id'")
15
+ by_type.send(:selector).should eq("view:\"UICustomType\" marked:\"id\"")
16
16
  end
17
17
 
18
18
  it 'can pass extra information as well' do
19
19
  with_extras = Furter::Accessors::View.new(:label => 'id', :extra => 'label')
20
- with_extras.send(:selector).should eq("view marked:'id' label")
20
+ with_extras.send(:selector).should eq("view marked:\"id\" label")
21
21
  end
22
22
 
23
23
  it 'can be found by text' do
24
24
  by_text = Furter::Accessors::View.new(:text => "Some Text")
25
- by_text.send(:selector).should eq("view text:'Some Text'")
25
+ by_text.send(:selector).should eq("view text:\"Some Text\"")
26
26
  end
27
27
  end
28
28
 
@@ -31,6 +31,12 @@ describe Furter::Accessors::View do
31
31
  view.click
32
32
  end
33
33
 
34
+ it 'can be tapped' do
35
+ expected_duration = 0.1
36
+ view.should_receive(:wait_for_and_tap).with(selector, expected_duration)
37
+ view.tap_and_hold_for(expected_duration)
38
+ end
39
+
34
40
  it 'knows if it is visible' do
35
41
  view.should_receive(:element_is_not_hidden).with(selector).and_return(true)
36
42
  view.should be_visible
@@ -42,7 +48,7 @@ describe Furter::Accessors::View do
42
48
  end
43
49
 
44
50
  it 'should know about next responders' do
45
- view.should_receive(:frankly_map).with("view:'UIView'", 'nextResponder').and_return(['<First>', '<Second>', '<Third>'])
51
+ view.should_receive(:frankly_map).with("view:\"UIView\"", 'nextResponder').and_return(['<First>', '<Second>', '<Third>'])
46
52
  view.next_responders.should eq ['First', 'Second', 'Third']
47
53
  end
48
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: furter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.2
4
+ version: 0.0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Levi Wilson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-23 00:00:00.000000000 Z
11
+ date: 2014-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: frank-cucumber
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  version: '0'
215
215
  requirements: []
216
216
  rubyforge_project:
217
- rubygems_version: 2.0.3
217
+ rubygems_version: 2.2.2
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: Higher-level abstraction around iOS drivers