furter 0.0.3.2 → 0.0.3.3

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 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