odeon_uk 0.0.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +46 -2
  3. data/Rakefile +9 -1
  4. data/lib/odeon_uk.rb +10 -1
  5. data/lib/odeon_uk/cinema.rb +152 -0
  6. data/lib/odeon_uk/film.rb +18 -0
  7. data/lib/odeon_uk/internal/film_with_screenings_parser.rb +51 -0
  8. data/lib/odeon_uk/screening.rb +34 -0
  9. data/lib/odeon_uk/version.rb +1 -1
  10. data/odeon_uk.gemspec +7 -0
  11. data/test/fixtures/brighton-showtimes/about-time.html +175 -0
  12. data/test/fixtures/brighton-showtimes/autism-friendly-planes.html +75 -0
  13. data/test/fixtures/brighton-showtimes/bolshoi-spartacus-live.html +67 -0
  14. data/test/fixtures/brighton-showtimes/cinemagic-echo-planet.html +67 -0
  15. data/test/fixtures/brighton-showtimes/globe-on-screen-twelfth-night.html +67 -0
  16. data/test/fixtures/brighton-showtimes/met-opera-eugene-onegin.html +67 -0
  17. data/test/fixtures/brighton-showtimes/national-theatre-live-frankenstein.html +78 -0
  18. data/test/fixtures/brighton-showtimes/nt-live-war-horse.html +67 -0
  19. data/test/fixtures/brighton-showtimes/royal-opera-house-turandot.html +66 -0
  20. data/test/fixtures/brighton-showtimes/rsc-richard-ii.html +67 -0
  21. data/test/fixtures/brighton-showtimes/star-trek-into-darkness-2d.html +83 -0
  22. data/test/fixtures/brighton-showtimes/ukjff-from-cable-street-to-brick-lane.html +67 -0
  23. data/test/fixtures/manchester-showtimes/thor-the-dark-world.html +300 -0
  24. data/test/fixtures/odeon-brighton-showtimes.html +1238 -0
  25. data/test/fixtures/odeon-brighton.html +2706 -0
  26. data/test/fixtures/odeon-sitemap.html +1263 -0
  27. data/test/lib/odeon_uk/cinema_test.rb +185 -0
  28. data/test/lib/odeon_uk/film_test.rb +13 -0
  29. data/test/lib/odeon_uk/internal/film_with_screenings_parser_test.rb +167 -0
  30. data/test/lib/odeon_uk/screening_test.rb +32 -0
  31. data/test/test_helper.rb +3 -0
  32. metadata +126 -2
@@ -0,0 +1,185 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe OdeonUk::Cinema do
4
+
5
+ before { WebMock.disable_net_connect! }
6
+
7
+ describe '.all' do
8
+ subject { OdeonUk::Cinema.all }
9
+
10
+ before do
11
+ sitemap_body = File.read( File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'odeon-sitemap.html') )
12
+ stub_request(:get, 'http://www.odeon.co.uk/sitemap/').to_return( status: 200, body: sitemap_body, headers: {} )
13
+ end
14
+
15
+ it 'returns an Array of Odeon::Cinemas' do
16
+ subject.must_be_instance_of(Array)
17
+ subject.each do |value|
18
+ value.must_be_instance_of(OdeonUk::Cinema)
19
+ end
20
+ end
21
+
22
+ it 'returns the correctly sized array' do
23
+ subject.size.must_equal 114
24
+ end
25
+ end
26
+
27
+ describe '.find(id)' do
28
+ let(:id) { 71 }
29
+
30
+ subject { OdeonUk::Cinema.find(id) }
31
+
32
+ before do
33
+ sitemap_body = File.read( File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'odeon-sitemap.html') )
34
+ stub_request(:get, 'http://www.odeon.co.uk/sitemap/').to_return( status: 200, body: sitemap_body, headers: {} )
35
+
36
+ # cinema_page_body = File.read( File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'odeon-brighton.html') )
37
+ # stub_request(:get, 'http://www.odeon.co.uk/cinema/brighton/23/').to_return( status: 200, body: cinema_page_body, headers: {} )
38
+ end
39
+
40
+ it 'returns a cinema' do
41
+ subject.must_be_instance_of(OdeonUk::Cinema)
42
+
43
+ subject.id.must_equal 71
44
+ subject.brand.must_equal 'Odeon'
45
+ subject.name.must_equal 'Brighton'
46
+ subject.slug.must_equal 'brighton'
47
+ subject.url.must_equal 'http://www.odeon.co.uk/cinemas/brighton/71/'
48
+ end
49
+ end
50
+
51
+ describe '.new id, name, url' do
52
+ it 'stores id, name, slug and url' do
53
+ cinema = OdeonUk::Cinema.new '23', 'Brighton & Hove', '/cinemas/brighton/71/'
54
+ cinema.id.must_equal 23
55
+ cinema.brand.must_equal 'Odeon'
56
+ cinema.name.must_equal 'Brighton & Hove'
57
+ cinema.slug.must_equal 'brighton-hove'
58
+ cinema.url.must_equal 'http://www.odeon.co.uk/cinemas/brighton/71/'
59
+ end
60
+ end
61
+
62
+ describe '#films' do
63
+ let(:cinema) { OdeonUk::Cinema.new('71', 'Brighton & Hove', '/cinemas/brighton/71/') }
64
+ subject { cinema.films }
65
+
66
+ before do
67
+ brighton_screenings_body = File.read( File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'odeon-brighton-showtimes.html') )
68
+ stub_request(:get, 'http://www.odeon.co.uk/showtimes/week/71?siteId=71').to_return( status: 200, body: brighton_screenings_body, headers: {} )
69
+ end
70
+
71
+ it 'returns an array of films' do
72
+ subject.must_be_instance_of(Array)
73
+ subject.each do |item|
74
+ item.must_be_instance_of(OdeonUk::Film)
75
+ end
76
+ end
77
+
78
+ it 'returns correct number of films' do
79
+ subject.count.must_equal 17
80
+ end
81
+
82
+ it 'returns film objects with correct names' do
83
+ subject.first.name.must_equal 'About Time'
84
+ subject.last.name.must_equal 'White House Down'
85
+ end
86
+ end
87
+
88
+ describe '#screenings' do
89
+ let(:cinema) { OdeonUk::Cinema.new('71', 'Brighton', '/cinemas/brighton/71/') }
90
+ subject { cinema.screenings }
91
+
92
+ before do
93
+ brighton_screenings_body = File.read( File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'odeon-brighton-showtimes.html') )
94
+ stub_request(:get, 'http://www.odeon.co.uk/showtimes/week/71?siteId=71').to_return( status: 200, body: brighton_screenings_body, headers: {} )
95
+ end
96
+
97
+ it 'returns an array of screenings' do
98
+ subject.must_be_instance_of(Array)
99
+ subject.each do |item|
100
+ item.must_be_instance_of(OdeonUk::Screening)
101
+ end
102
+ end
103
+
104
+ it 'returns screening objects with correct film names' do
105
+ subject.first.film_name.must_equal 'About Time'
106
+ subject.last.film_name.must_equal 'White House Down'
107
+ end
108
+
109
+ it 'returns screening objects with correct cinema name' do
110
+ subject.each { |s| s.cinema_name.must_equal 'Brighton' }
111
+ end
112
+
113
+ it 'returns screening objects with correct UTC times' do
114
+ subject.first.when.must_equal Time.utc(2013, 9, 14, 11, 20, 0)
115
+ subject.last.when.must_equal Time.utc(2013, 9, 19, 19, 40, 0)
116
+ end
117
+ end
118
+
119
+ describe '#screenings_of(film_or_string)' do
120
+ let(:cinema) { OdeonUk::Cinema.new('71', 'Brighton', '/cinemas/brighton/71/') }
121
+ subject { cinema.screenings_of(film_or_string) }
122
+
123
+ before do
124
+ brighton_screenings_body = File.read( File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'odeon-brighton-showtimes.html') )
125
+ stub_request(:get, 'http://www.odeon.co.uk/showtimes/week/71?siteId=71').to_return( status: 200, body: brighton_screenings_body, headers: {} )
126
+ end
127
+
128
+ describe 'passed string' do
129
+ let(:film_or_string) { 'About Time' }
130
+
131
+ it 'returns an array of screenings' do
132
+ subject.must_be_instance_of(Array)
133
+ subject.each do |item|
134
+ item.must_be_instance_of(OdeonUk::Screening)
135
+ end
136
+ end
137
+
138
+ it 'returns the correct number of screening objects' do
139
+ subject.count.must_equal 21
140
+ end
141
+
142
+ it 'returns screening objects with correct film names' do
143
+ subject.each { |s| s.film_name.must_equal 'About Time' }
144
+ end
145
+
146
+ it 'returns screening objects with correct cinema name' do
147
+ subject.each { |s| s.cinema_name.must_equal 'Brighton' }
148
+ end
149
+
150
+ it 'returns screening objects with correct UTC times' do
151
+ subject.first.when.must_equal Time.utc(2013, 9, 14, 11, 20, 0)
152
+ subject.last.when.must_equal Time.utc(2013, 9, 19, 19, 30, 0)
153
+ end
154
+ end
155
+
156
+ describe 'passed OdeonUk::Film' do
157
+ let(:film_or_string) { OdeonUk::Film.new 'About Time' }
158
+
159
+ it 'returns an array of screenings' do
160
+ subject.must_be_instance_of(Array)
161
+ subject.each do |item|
162
+ item.must_be_instance_of(OdeonUk::Screening)
163
+ end
164
+ end
165
+
166
+ it 'returns the correct number of screening objects' do
167
+ subject.count.must_equal 21
168
+ end
169
+
170
+ it 'returns screening objects with correct film names' do
171
+ subject.each { |s| s.film_name.must_equal 'About Time' }
172
+ end
173
+
174
+ it 'returns screening objects with correct cinema name' do
175
+ subject.each { |s| s.cinema_name.must_equal 'Brighton' }
176
+ end
177
+
178
+ it 'returns screening objects with correct UTC times' do
179
+ subject.first.when.must_equal Time.utc(2013, 9, 14, 11, 20, 0)
180
+ subject.last.when.must_equal Time.utc(2013, 9, 19, 19, 30, 0)
181
+ end
182
+ end
183
+ end
184
+
185
+ end
@@ -0,0 +1,13 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe OdeonUk::Film do
4
+
5
+ before { WebMock.disable_net_connect! }
6
+
7
+ describe '.new(name)' do
8
+ it 'stores name' do
9
+ film = OdeonUk::Film.new 'Iron Man 3'
10
+ film.name.must_equal 'Iron Man 3'
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,167 @@
1
+ require_relative '../../../test_helper'
2
+
3
+ describe OdeonUk::Internal::FilmWithScreeningsParser do
4
+
5
+ describe '#film_name' do
6
+ subject { OdeonUk::Internal::FilmWithScreeningsParser.new(film_html).film_name }
7
+
8
+ describe 'passed valid film html with simple name' do
9
+ let(:film_html) { read_film_html('about-time') }
10
+
11
+ it 'returns the film name' do
12
+ subject.must_equal('About Time')
13
+ end
14
+ end
15
+
16
+ describe 'passed valid film html with 2d name' do
17
+ let(:film_html) { read_film_html('star-trek-into-darkness-2d') }
18
+
19
+ it 'returns the film name' do
20
+ subject.must_equal('Star Trek Into Darkness')
21
+ end
22
+ end
23
+
24
+ describe 'passed valid film html with autism text' do
25
+ let(:film_html) { read_film_html('autism-friendly-planes') }
26
+
27
+ it 'returns the film name' do
28
+ subject.must_equal('Planes')
29
+ end
30
+ end
31
+
32
+ describe 'passed valid film html with ROH live screening' do
33
+ let(:film_html) { read_film_html('royal-opera-house-turandot') }
34
+
35
+ it 'returns the film name' do
36
+ subject.must_equal('Royal Opera House: Turandot 2013')
37
+ end
38
+ end
39
+
40
+ describe 'passed valid film html with Met Opera screening' do
41
+ let(:film_html) { read_film_html('met-opera-eugene-onegin') }
42
+
43
+ it 'returns the film name' do
44
+ subject.must_equal('Met Opera: Eugene Onegin 2013')
45
+ end
46
+ end
47
+
48
+ describe 'passed valid film html with Met Opera screening' do
49
+ let(:film_html) { read_film_html('cinemagic-echo-planet') }
50
+
51
+ it 'returns the film name' do
52
+ subject.must_equal('Echo Planet')
53
+ end
54
+ end
55
+
56
+ describe 'passed valid film html with UK Jewish Film Festival' do
57
+ let(:film_html) { read_film_html('ukjff-from-cable-street-to-brick-lane') }
58
+
59
+ it 'returns the film name' do
60
+ subject.must_equal('From Cable Street To Brick Lane')
61
+ end
62
+ end
63
+
64
+ describe 'passed valid film html with NT Encore' do
65
+ let(:film_html) { read_film_html('national-theatre-live-frankenstein') }
66
+
67
+ it 'returns the film name' do
68
+ subject.must_equal('National Theatre: Frankenstein')
69
+ end
70
+ end
71
+
72
+ describe 'passed valid film html with NT Encore' do
73
+ let(:film_html) { read_film_html('nt-live-war-horse') }
74
+
75
+ it 'returns the film name' do
76
+ subject.must_equal('National Theatre: War Horse')
77
+ end
78
+ end
79
+
80
+ describe 'passed valid film html with Bolshoi Ballet' do
81
+ let(:film_html) { read_film_html('bolshoi-spartacus-live') }
82
+
83
+ it 'returns the film name' do
84
+ subject.must_equal('Bolshoi: Spartacus')
85
+ end
86
+ end
87
+
88
+ describe 'passed valid film html with Globe' do
89
+ let(:film_html) { read_film_html('globe-on-screen-twelfth-night') }
90
+
91
+ it 'returns the film name' do
92
+ subject.must_equal('Globe: Twelfth Night')
93
+ end
94
+ end
95
+
96
+ describe 'passed valid film html with RSC' do
97
+ let(:film_html) { read_film_html('rsc-richard-ii') }
98
+
99
+ it 'returns the film name' do
100
+ subject.must_equal('Royal Shakespeare Company: Richard II')
101
+ end
102
+ end
103
+ end
104
+
105
+ describe '#showings' do
106
+ subject { OdeonUk::Internal::FilmWithScreeningsParser.new(film_html).showings }
107
+
108
+ describe 'passed valid film html' do
109
+ let(:film_html) { read_film_html('about-time') }
110
+
111
+ it 'returns an hash of varients => array of times' do
112
+ subject.must_be_instance_of Hash
113
+ subject.each do |key, value|
114
+ key.must_equal '2D'
115
+ value.must_be_instance_of Array
116
+ value.each do |element|
117
+ element.must_be_instance_of Time
118
+ element.zone.must_equal 'UTC'
119
+ end
120
+ end
121
+ end
122
+
123
+ it 'returns the correct number of screenings' do
124
+ subject['2D'].count.must_equal 21
125
+ end
126
+
127
+ it 'returns UTC times for showings' do
128
+ # about times are from British Summer Time UTC+1
129
+ # the actual show time is 20:30 from the fixture
130
+ subject['2D'].last.must_equal Time.utc(2013, 9, 19, 19, 30, 0)
131
+ end
132
+ end
133
+
134
+ describe 'passed valid film html for multi varients' do
135
+ let(:film_html) { read_film_html('thor-the-dark-world', 'manchester') }
136
+
137
+ it 'returns an hash of varients => array of times' do
138
+ subject.must_be_instance_of Hash
139
+ subject.keys.must_equal ['2D', 'IMAX 3D', '3D']
140
+ subject.values.each do |value|
141
+ value.must_be_instance_of Array
142
+ value.each do |element|
143
+ element.must_be_instance_of Time
144
+ element.zone.must_equal 'UTC'
145
+ end
146
+ end
147
+ end
148
+
149
+ it 'returns the correct number of screenings' do
150
+ subject['2D'].count.must_equal 1
151
+ subject['3D'].count.must_equal 1
152
+ subject['IMAX 3D'].count.must_equal 37
153
+ end
154
+
155
+ it 'returns UTC times for showings' do
156
+ # about times are from GMT
157
+ # the actual show time is 00:01 from the fixture
158
+ subject['2D'].last.must_equal Time.utc(2013, 10, 30, 0, 1, 0)
159
+ end
160
+ end
161
+ end
162
+
163
+ def read_film_html(filename, cinema='brighton')
164
+ path = "../../../../fixtures/#{cinema}-showtimes"
165
+ File.read(File.expand_path("#{path}/#{filename}.html", __FILE__))
166
+ end
167
+ end
@@ -0,0 +1,32 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe OdeonUk::Screening do
4
+
5
+ before { WebMock.disable_net_connect! }
6
+
7
+ describe '#new film_name, cinema_name, date, time, varient' do
8
+ it 'stores film_name, cinema_name & when (in UTC)' do
9
+ screening = OdeonUk::Screening.new 'Iron Man 3', 'Brighton', '2013-09-12', '11:00'
10
+ screening.film_name.must_equal 'Iron Man 3'
11
+ screening.cinema_name.must_equal 'Brighton'
12
+ screening.when.must_equal Time.utc(2013, 9, 12, 11, 0)
13
+ screening.varient.must_equal nil
14
+ end
15
+
16
+ it 'stores varient if passed' do
17
+ screening = OdeonUk::Screening.new 'Iron Man 3', 'Brighton', '2013-09-12', '11:00', '3d'
18
+ screening.film_name.must_equal 'Iron Man 3'
19
+ screening.cinema_name.must_equal 'Brighton'
20
+ screening.when.must_equal Time.utc(2013, 9, 12, 11, 0)
21
+ screening.varient.must_equal '3d'
22
+ end
23
+ end
24
+
25
+ describe '#date' do
26
+ subject { OdeonUk::Screening.new('Iron Man 3', 'Brighton', '2013-09-12', '11:30', '3d').date }
27
+ it 'should return date of showing' do
28
+ subject.must_be_instance_of(Date)
29
+ subject.must_equal Date.new(2013, 9, 12)
30
+ end
31
+ end
32
+ end
@@ -1,3 +1,6 @@
1
1
  require 'minitest/autorun'
2
2
  require 'minitest/pride'
3
+
4
+ require 'webmock/minitest'
5
+
3
6
  require File.expand_path('../../lib/odeon_uk.rb', __FILE__)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: odeon_uk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-28 00:00:00.000000000 Z
12
+ date: 2013-10-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -27,6 +27,86 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: webmock
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: httparty
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: nokogiri
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: tzinfo
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: tzinfo-data
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
30
110
  description: An API to pull movie information from the ODEON.co.uk website
31
111
  email:
32
112
  - andycroll@deepcalm.com
@@ -40,8 +120,32 @@ files:
40
120
  - README.md
41
121
  - Rakefile
42
122
  - lib/odeon_uk.rb
123
+ - lib/odeon_uk/cinema.rb
124
+ - lib/odeon_uk/film.rb
125
+ - lib/odeon_uk/internal/film_with_screenings_parser.rb
126
+ - lib/odeon_uk/screening.rb
43
127
  - lib/odeon_uk/version.rb
44
128
  - odeon_uk.gemspec
129
+ - test/fixtures/brighton-showtimes/about-time.html
130
+ - test/fixtures/brighton-showtimes/autism-friendly-planes.html
131
+ - test/fixtures/brighton-showtimes/bolshoi-spartacus-live.html
132
+ - test/fixtures/brighton-showtimes/cinemagic-echo-planet.html
133
+ - test/fixtures/brighton-showtimes/globe-on-screen-twelfth-night.html
134
+ - test/fixtures/brighton-showtimes/met-opera-eugene-onegin.html
135
+ - test/fixtures/brighton-showtimes/national-theatre-live-frankenstein.html
136
+ - test/fixtures/brighton-showtimes/nt-live-war-horse.html
137
+ - test/fixtures/brighton-showtimes/royal-opera-house-turandot.html
138
+ - test/fixtures/brighton-showtimes/rsc-richard-ii.html
139
+ - test/fixtures/brighton-showtimes/star-trek-into-darkness-2d.html
140
+ - test/fixtures/brighton-showtimes/ukjff-from-cable-street-to-brick-lane.html
141
+ - test/fixtures/manchester-showtimes/thor-the-dark-world.html
142
+ - test/fixtures/odeon-brighton-showtimes.html
143
+ - test/fixtures/odeon-brighton.html
144
+ - test/fixtures/odeon-sitemap.html
145
+ - test/lib/odeon_uk/cinema_test.rb
146
+ - test/lib/odeon_uk/film_test.rb
147
+ - test/lib/odeon_uk/internal/film_with_screenings_parser_test.rb
148
+ - test/lib/odeon_uk/screening_test.rb
45
149
  - test/lib/odeon_uk/version_test.rb
46
150
  - test/test_helper.rb
47
151
  homepage: http://github.com/andycroll/odeon_uk
@@ -69,5 +173,25 @@ signing_key:
69
173
  specification_version: 3
70
174
  summary: It's a scraper, but a nice one
71
175
  test_files:
176
+ - test/fixtures/brighton-showtimes/about-time.html
177
+ - test/fixtures/brighton-showtimes/autism-friendly-planes.html
178
+ - test/fixtures/brighton-showtimes/bolshoi-spartacus-live.html
179
+ - test/fixtures/brighton-showtimes/cinemagic-echo-planet.html
180
+ - test/fixtures/brighton-showtimes/globe-on-screen-twelfth-night.html
181
+ - test/fixtures/brighton-showtimes/met-opera-eugene-onegin.html
182
+ - test/fixtures/brighton-showtimes/national-theatre-live-frankenstein.html
183
+ - test/fixtures/brighton-showtimes/nt-live-war-horse.html
184
+ - test/fixtures/brighton-showtimes/royal-opera-house-turandot.html
185
+ - test/fixtures/brighton-showtimes/rsc-richard-ii.html
186
+ - test/fixtures/brighton-showtimes/star-trek-into-darkness-2d.html
187
+ - test/fixtures/brighton-showtimes/ukjff-from-cable-street-to-brick-lane.html
188
+ - test/fixtures/manchester-showtimes/thor-the-dark-world.html
189
+ - test/fixtures/odeon-brighton-showtimes.html
190
+ - test/fixtures/odeon-brighton.html
191
+ - test/fixtures/odeon-sitemap.html
192
+ - test/lib/odeon_uk/cinema_test.rb
193
+ - test/lib/odeon_uk/film_test.rb
194
+ - test/lib/odeon_uk/internal/film_with_screenings_parser_test.rb
195
+ - test/lib/odeon_uk/screening_test.rb
72
196
  - test/lib/odeon_uk/version_test.rb
73
197
  - test/test_helper.rb