ProMotion 2.0.0.rc4 → 2.0.0.rc5

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ea6af0484e34faeafec191a216b90c86b55e98e8
4
- data.tar.gz: 35f7327f1bc729c3d2735c7f4f2964c524787bc7
3
+ metadata.gz: c1b745b9285361e5c83902ad54555b26eb25ef64
4
+ data.tar.gz: 3efb5c16c82d9f136dde950742724cc4713b1d49
5
5
  SHA512:
6
- metadata.gz: d23b14a0edb28445c4f2299997e680c2a998416c6028c7a0fd1496fa814e321400d603953d02e5edf9c5bad6802b5aa337e0d6553ca21f7479ec938d2b644ff6
7
- data.tar.gz: 8fbd692e984a128801f617ec9833af4a753a028dcb14a916eb7f4fa4730626e4964867fb14b9d8ef412684129dfcdb1aaee92c5a33b72d3971ff1124fc9f3ef2
6
+ metadata.gz: 6ee92756d4cafbbe466cc4e03e8bf9a136c89335d961e69d61b0553473b96e0313179ddd4179995ad58d738b3d4cd6d0e5861ee6d5ec02902ca6dce6e55b5d74
7
+ data.tar.gz: abce7aecfb21cb8ca89bef8c0af872307bf18b278cb89ffc51bafb98329d5b2133f73fd83087cb2fa039c220e13bd8e90e38ec9fcc7b4608a8c0f11cc2a055d3
@@ -0,0 +1,7 @@
1
+ class DummyView < UIView
2
+ private
3
+
4
+ def dummy
5
+ setFrame(nil)
6
+ end
7
+ end
@@ -4,7 +4,7 @@ module ProMotion
4
4
  def table_data_index
5
5
  return nil if self.promotion_table_data.filtered || !self.class.get_indexable
6
6
 
7
- index = self.promotion_table_data.sections.collect{ |section| section[:title][0] }
7
+ index = self.promotion_table_data.sections.collect{ |section| (section[:title] || " ")[0] } || []
8
8
  index.unshift("{search}") if self.class.get_searchable
9
9
  index
10
10
  end
@@ -188,7 +188,7 @@ module ProMotion
188
188
  return index unless ["{search}", UITableViewIndexSearch].include?(self.table_data_index[0])
189
189
 
190
190
  if index == 0
191
- tableView.setContentOffset(CGPointZero, animated:false)
191
+ tableView.scrollRectToVisible(CGRectMake(0.0, 0.0, 1.0, 1.0), animated:false)
192
192
  NSNotFound
193
193
  else
194
194
  index - 1
@@ -1,3 +1,3 @@
1
1
  module ProMotion
2
- VERSION = "2.0.0.rc4" unless defined?(ProMotion::VERSION)
2
+ VERSION = "2.0.0.rc5" unless defined?(ProMotion::VERSION)
3
3
  end
@@ -1,4 +1,4 @@
1
- describe "ProMotion::Screen functional" do
1
+ describe "ProMotion::Screen functionality" do
2
2
  tests PM::Screen
3
3
 
4
4
  # Override controller to properly instantiate
@@ -44,7 +44,7 @@ describe "ProMotion::Screen functional" do
44
44
  end
45
45
 
46
46
  end
47
-
47
+
48
48
  end
49
49
 
50
50
  it "should push another screen with animation by default" do
@@ -1,4 +1,4 @@
1
- describe "Split screen functional" do
1
+ describe "Split screen functionality" do
2
2
  tests PM::SplitViewController
3
3
 
4
4
  # Override controller to properly instantiate
@@ -1,4 +1,4 @@
1
- describe "ProMotion::TestTableScreen functionality" do
1
+ describe "ProMotion::TableScreen functionality" do
2
2
  tests PM::TestTableScreen
3
3
 
4
4
  def table_screen
@@ -120,14 +120,6 @@ describe "ProMotion::TestTableScreen functionality" do
120
120
  end
121
121
  end
122
122
 
123
- it "should call the method with arguments when the switch is flipped" do
124
- table_screen.scroll_to_bottom
125
- tap "switch_2"
126
- wait 0.3 do
127
- table_screen.tap_counter.should == 3
128
- end
129
- end
130
-
131
123
  it "should not crash if cell with editing_style is swiped left" do
132
124
  Proc.new { flick("Just another deletable blank row", to: :left) }.should.not.raise(StandardError)
133
125
  end
@@ -9,7 +9,7 @@ describe "PM::Tabs" do
9
9
  @screen2 = BasicScreen.new(nav_bar: true, title: "Screen 2")
10
10
  @screen3 = BasicScreen.new(title: "Screen 3")
11
11
  @screen4 = BasicScreen.new(title: "Screen 4")
12
-
12
+
13
13
  app.open_tab_bar(@screen1, @screen2, @screen3, @screen4)
14
14
  end
15
15
  end
@@ -18,18 +18,18 @@ describe "PM::Tabs" do
18
18
  tab_bar
19
19
  app.window.rootViewController.should.be.kind_of UITabBarController
20
20
  end
21
-
21
+
22
22
  it "should have four tabs" do
23
23
  tab_bar.viewControllers.length.should == 4
24
24
  end
25
-
25
+
26
26
  it "should have the right screens in the right places" do
27
27
  tab_bar.viewControllers[0].should == @screen1.navigationController
28
28
  tab_bar.viewControllers[1].should == @screen2.navigationController
29
29
  tab_bar.viewControllers[2].should == @screen3
30
30
  tab_bar.viewControllers[3].should == @screen4
31
31
  end
32
-
32
+
33
33
  it "should allow opening a tab by the name from any screen" do
34
34
  @screen1.open_tab "Screen 2"
35
35
  tab_bar.selectedIndex.should == 1
@@ -51,7 +51,7 @@ describe "PM::Tabs" do
51
51
  @screen4.open_tab 0
52
52
  tab_bar.selectedIndex.should == 0
53
53
  end
54
-
54
+
55
55
  it "should allow opening a tab from the app_delegate" do
56
56
  app.open_tab "Screen 2"
57
57
  tab_bar.selectedIndex.should == 1
@@ -62,7 +62,7 @@ describe "PM::Tabs" do
62
62
  app.open_tab "Screen 1"
63
63
  tab_bar.selectedIndex.should == 0
64
64
  end
65
-
65
+
66
66
  it "should allow opening a tab by accessing the tab bar directly" do
67
67
  tab_bar.open_tab "Screen 2"
68
68
  tab_bar.selectedIndex.should == 1
@@ -73,7 +73,7 @@ describe "PM::Tabs" do
73
73
  tab_bar.open_tab "Screen 1"
74
74
  tab_bar.selectedIndex.should == 0
75
75
  end
76
-
77
-
76
+
77
+
78
78
 
79
79
  end
@@ -11,6 +11,19 @@ describe "PM::Table module indexable" do
11
11
 
12
12
  end
13
13
 
14
+ describe "PM::Table module indexable with nil section title" do
15
+
16
+ before do
17
+ @screen = TableScreenIndexableNil.new
18
+ end
19
+
20
+ it "should not crash when a section title is nil" do
21
+ result = %w{ A G M O S U }
22
+ @screen.sectionIndexTitlesForTableView(@screen.table_view).should == result.push(" ")
23
+ end
24
+
25
+ end
26
+
14
27
  describe "PM::Table module indexable/searchable" do
15
28
 
16
29
  before do
@@ -111,5 +111,34 @@ describe "table screens" do
111
111
  end
112
112
  end
113
113
 
114
+ describe "test PM::TableScreen's updating functionality" do
115
+ before do
116
+ class UpdateTestTableScreen < PM::TableScreen
117
+ def table_data; @table_data ||= []; end
118
+ def on_load
119
+ @table_data = [{cells: []}]
120
+ update_table_data
121
+ end
122
+
123
+ def make_more_cells
124
+ @table_data = [{cells: [{title: "Cell 1"},{title: "Cell 2"}]}]
125
+ end
126
+ end
127
+ end
128
+
129
+ it 'should update the table data when update_table_data is called' do
130
+ @screen = UpdateTestTableScreen.new
131
+ @screen.tableView(@screen.tableView, numberOfRowsInSection:0).should == 0
132
+ @screen.make_more_cells
133
+
134
+ # We made them, but they shouldn't be in the table yet.
135
+ @screen.tableView(@screen.tableView, numberOfRowsInSection:0).should == 0
136
+
137
+ @screen.update_table_data
138
+ @screen.tableView(@screen.tableView, numberOfRowsInSection:0).should == 2
139
+ end
140
+
141
+ end
142
+
114
143
  end
115
144
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ProMotion
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.rc4
4
+ version: 2.0.0.rc5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamon Holmgren
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-07-03 00:00:00.000000000 Z
13
+ date: 2014-07-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: methadone
@@ -113,6 +113,7 @@ files:
113
113
  - lib/ProMotion/screen/screen.rb
114
114
  - lib/ProMotion/screen/screen_module.rb
115
115
  - lib/ProMotion/screen/screen_navigation.rb
116
+ - lib/ProMotion/stubs/dummy_view.rb
116
117
  - lib/ProMotion/styling/styling.rb
117
118
  - lib/ProMotion/table/cell/table_view_cell_module.rb
118
119
  - lib/ProMotion/table/data/table_data.rb