simple_pvr 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +8 -0
- data/.travis.yml +6 -0
- data/Gemfile.lock +22 -14
- data/README.md +32 -18
- data/Rakefile +1 -1
- data/development_server +10 -0
- data/development_xmltv +18 -0
- data/features/scheduling.feature +3 -3
- data/features/step_definitions/pvr_steps.rb +47 -11
- data/features/support/env.rb +3 -2
- data/lib/simple_pvr/model/schedule.rb +9 -0
- data/lib/simple_pvr/recording_manager.rb +1 -1
- data/lib/simple_pvr/recording_planner.rb +27 -3
- data/lib/simple_pvr/version.rb +1 -1
- data/public/css/bootstrap-responsive.min.css +2 -2
- data/public/css/bootstrap.min.css +2 -2
- data/public/index.html +3 -3
- data/public/js/angular/angular-resource.min.js +6 -6
- data/public/js/angular/angular.min.js +158 -153
- data/public/js/bootstrap/bootstrap.min.js +1 -1
- data/public/js/jquery/jquery.min.js +5 -0
- data/public/partials/about.html +11 -0
- data/public/partials/schedules.html +3 -3
- data/simple_pvr.gemspec +2 -1
- data/spec/resources/recordings/Extensive Metadata/1/metadata.yml +9 -0
- data/spec/simple_pvr/model/schedule_spec.rb +4 -0
- data/spec/simple_pvr/recording_planner_spec.rb +44 -9
- data/test/{testacular.conf.js → karma.conf.js} +2 -2
- data/test/lib/angular/angular-mocks.js +60 -11
- metadata +29 -7
- data/.rspec +0 -1
@@ -1,6 +1,5 @@
|
|
1
|
-
|
2
1
|
/**
|
3
|
-
* @license AngularJS v1.0.
|
2
|
+
* @license AngularJS v1.0.6
|
4
3
|
* (c) 2010-2012 Google, Inc. http://angularjs.org
|
5
4
|
* License: MIT
|
6
5
|
*
|
@@ -203,6 +202,30 @@ angular.mock.$Browser.prototype = {
|
|
203
202
|
* Mock implementation of {@link ng.$exceptionHandler} that rethrows or logs errors passed
|
204
203
|
* into it. See {@link ngMock.$exceptionHandlerProvider $exceptionHandlerProvider} for configuration
|
205
204
|
* information.
|
205
|
+
*
|
206
|
+
*
|
207
|
+
* <pre>
|
208
|
+
* describe('$exceptionHandlerProvider', function() {
|
209
|
+
*
|
210
|
+
* it('should capture log messages and exceptions', function() {
|
211
|
+
*
|
212
|
+
* module(function($exceptionHandlerProvider) {
|
213
|
+
* $exceptionHandlerProvider.mode('log');
|
214
|
+
* });
|
215
|
+
*
|
216
|
+
* inject(function($log, $exceptionHandler, $timeout) {
|
217
|
+
* $timeout(function() { $log.log(1); });
|
218
|
+
* $timeout(function() { $log.log(2); throw 'banana peel'; });
|
219
|
+
* $timeout(function() { $log.log(3); });
|
220
|
+
* expect($exceptionHandler.errors).toEqual([]);
|
221
|
+
* expect($log.assertEmpty());
|
222
|
+
* $timeout.flush();
|
223
|
+
* expect($exceptionHandler.errors).toEqual(['banana peel']);
|
224
|
+
* expect($log.log.logs).toEqual([[1], [2], [3]]);
|
225
|
+
* });
|
226
|
+
* });
|
227
|
+
* });
|
228
|
+
* </pre>
|
206
229
|
*/
|
207
230
|
|
208
231
|
angular.mock.$ExceptionHandlerProvider = function() {
|
@@ -221,8 +244,8 @@ angular.mock.$ExceptionHandlerProvider = function() {
|
|
221
244
|
* - `rethrow`: If any errors are are passed into the handler in tests, it typically
|
222
245
|
* means that there is a bug in the application or test, so this mock will
|
223
246
|
* make these tests fail.
|
224
|
-
* - `log`: Sometimes it is desirable to test that an error is
|
225
|
-
*
|
247
|
+
* - `log`: Sometimes it is desirable to test that an error is thrown, for this case the `log` mode stores an
|
248
|
+
* array of errors in `$exceptionHandler.errors`, to allow later assertion of them.
|
226
249
|
* See {@link ngMock.$log#assertEmpty assertEmpty()} and
|
227
250
|
* {@link ngMock.$log#reset reset()}
|
228
251
|
*/
|
@@ -407,7 +430,7 @@ angular.mock.$LogProvider = function() {
|
|
407
430
|
*
|
408
431
|
* *NOTE*: this is not an injectable instance, just a globally available mock class of `Date`.
|
409
432
|
*
|
410
|
-
* Mock of the Date type which has its timezone specified via
|
433
|
+
* Mock of the Date type which has its timezone specified via constructor arg.
|
411
434
|
*
|
412
435
|
* The main purpose is to create Date-like instances with timezone fixed to the specified timezone
|
413
436
|
* offset, so that we can test code that depends on local timezone settings without dependency on
|
@@ -562,7 +585,7 @@ angular.mock.$LogProvider = function() {
|
|
562
585
|
|
563
586
|
/**
|
564
587
|
* @ngdoc function
|
565
|
-
* @name angular.mock.
|
588
|
+
* @name angular.mock.dump
|
566
589
|
* @description
|
567
590
|
*
|
568
591
|
* *NOTE*: this is not an injectable instance, just a globally available function.
|
@@ -745,7 +768,7 @@ angular.mock.dump = function(object) {
|
|
745
768
|
}
|
746
769
|
|
747
770
|
// testing controller
|
748
|
-
var $
|
771
|
+
var $httpBackend;
|
749
772
|
|
750
773
|
beforeEach(inject(function($injector) {
|
751
774
|
$httpBackend = $injector.get('$httpBackend');
|
@@ -1591,9 +1614,29 @@ window.jasmine && (function(window) {
|
|
1591
1614
|
|
1592
1615
|
afterEach(function() {
|
1593
1616
|
var spec = getCurrentSpec();
|
1617
|
+
var injector = spec.$injector;
|
1618
|
+
|
1594
1619
|
spec.$injector = null;
|
1595
1620
|
spec.$modules = null;
|
1621
|
+
|
1622
|
+
if (injector) {
|
1623
|
+
injector.get('$rootElement').unbind();
|
1624
|
+
injector.get('$browser').pollFns.length = 0;
|
1625
|
+
}
|
1626
|
+
|
1596
1627
|
angular.mock.clearDataCache();
|
1628
|
+
|
1629
|
+
// clean up jquery's fragment cache
|
1630
|
+
angular.forEach(angular.element.fragments, function(val, key) {
|
1631
|
+
delete angular.element.fragments[key];
|
1632
|
+
});
|
1633
|
+
|
1634
|
+
MockXhr.$$lastInstance = null;
|
1635
|
+
|
1636
|
+
angular.forEach(angular.callbacks, function(val, key) {
|
1637
|
+
delete angular.callbacks[key];
|
1638
|
+
});
|
1639
|
+
angular.callbacks.counter = 0;
|
1597
1640
|
});
|
1598
1641
|
|
1599
1642
|
function getCurrentSpec() {
|
@@ -1610,7 +1653,7 @@ window.jasmine && (function(window) {
|
|
1610
1653
|
* @name angular.mock.module
|
1611
1654
|
* @description
|
1612
1655
|
*
|
1613
|
-
* *NOTE*: This
|
1656
|
+
* *NOTE*: This function is also published on window for easy access.<br>
|
1614
1657
|
* *NOTE*: Only available with {@link http://pivotal.github.com/jasmine/ jasmine}.
|
1615
1658
|
*
|
1616
1659
|
* This function registers a module configuration code. It collects the configuration information
|
@@ -1644,8 +1687,12 @@ window.jasmine && (function(window) {
|
|
1644
1687
|
* @name angular.mock.inject
|
1645
1688
|
* @description
|
1646
1689
|
*
|
1690
|
+
<<<<<<< HEAD
|
1647
1691
|
* *NOTE*: This is function is also published on window for easy access.<br>
|
1648
1692
|
* *NOTE*: Only available with {@link http://pivotal.github.com/jasmine/ jasmine}.
|
1693
|
+
=======
|
1694
|
+
* *NOTE*: This function is also published on window for easy access.<br>
|
1695
|
+
>>>>>>> 8dca056... docs(mocks): fix typos
|
1649
1696
|
*
|
1650
1697
|
* The inject function wraps a function into an injectable function. The inject() creates new
|
1651
1698
|
* instance of {@link AUTO.$injector $injector} per test, which is then used for
|
@@ -1694,7 +1741,7 @@ window.jasmine && (function(window) {
|
|
1694
1741
|
*/
|
1695
1742
|
window.inject = angular.mock.inject = function() {
|
1696
1743
|
var blockFns = Array.prototype.slice.call(arguments, 0);
|
1697
|
-
var
|
1744
|
+
var errorForStack = new Error('Declaration Location');
|
1698
1745
|
return isSpecRunning() ? workFn() : workFn;
|
1699
1746
|
/////////////////////
|
1700
1747
|
function workFn() {
|
@@ -1710,10 +1757,12 @@ window.jasmine && (function(window) {
|
|
1710
1757
|
try {
|
1711
1758
|
injector.invoke(blockFns[i] || angular.noop, this);
|
1712
1759
|
} catch (e) {
|
1713
|
-
if(e.stack) e.stack += '\n' + stack;
|
1760
|
+
if(e.stack && errorForStack) e.stack += '\n' + errorForStack.stack;
|
1714
1761
|
throw e;
|
1762
|
+
} finally {
|
1763
|
+
errorForStack = null;
|
1715
1764
|
}
|
1716
1765
|
}
|
1717
1766
|
}
|
1718
|
-
}
|
1767
|
+
};
|
1719
1768
|
})(window);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_pvr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
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-
|
12
|
+
date: 2013-04-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -157,6 +157,22 @@ dependencies:
|
|
157
157
|
version: '1.2'
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: capybara
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '2.0'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '2.0'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: poltergeist
|
160
176
|
requirement: !ruby/object:Gem::Requirement
|
161
177
|
none: false
|
162
178
|
requirements:
|
@@ -181,7 +197,8 @@ executables:
|
|
181
197
|
extensions: []
|
182
198
|
extra_rdoc_files: []
|
183
199
|
files:
|
184
|
-
- .
|
200
|
+
- .gitignore
|
201
|
+
- .travis.yml
|
185
202
|
- Gemfile
|
186
203
|
- Gemfile.lock
|
187
204
|
- LICENSE.txt
|
@@ -189,6 +206,8 @@ files:
|
|
189
206
|
- Rakefile
|
190
207
|
- bin/pvr_server
|
191
208
|
- bin/pvr_xmltv
|
209
|
+
- development_server
|
210
|
+
- development_xmltv
|
192
211
|
- features/channel_overview.feature
|
193
212
|
- features/programme_search.feature
|
194
213
|
- features/scheduling.feature
|
@@ -236,6 +255,7 @@ files:
|
|
236
255
|
- public/js/bootstrap/bootstrap.min.js
|
237
256
|
- public/js/controllers.js
|
238
257
|
- public/js/filters.js
|
258
|
+
- public/js/jquery/jquery.min.js
|
239
259
|
- public/js/services.js
|
240
260
|
- public/partials/about.html
|
241
261
|
- public/partials/channels.html
|
@@ -252,6 +272,7 @@ files:
|
|
252
272
|
- spec/resources/channels.txt
|
253
273
|
- spec/resources/programs-without-icon.xmltv
|
254
274
|
- spec/resources/programs.xmltv
|
275
|
+
- spec/resources/recordings/Extensive Metadata/1/metadata.yml
|
255
276
|
- spec/simple_pvr/ffmpeg_spec.rb
|
256
277
|
- spec/simple_pvr/hdhomerun_spec.rb
|
257
278
|
- spec/simple_pvr/model/channel_spec.rb
|
@@ -263,8 +284,8 @@ files:
|
|
263
284
|
- spec/simple_pvr/recording_planner_spec.rb
|
264
285
|
- spec/simple_pvr/scheduler_spec.rb
|
265
286
|
- spec/simple_pvr/xmltv_reader_spec.rb
|
287
|
+
- test/karma.conf.js
|
266
288
|
- test/lib/angular/angular-mocks.js
|
267
|
-
- test/testacular.conf.js
|
268
289
|
- test/unit/filtersSpec.js
|
269
290
|
homepage: https://github.com/olefriis/simplepvr
|
270
291
|
licenses: []
|
@@ -280,7 +301,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
280
301
|
version: '0'
|
281
302
|
segments:
|
282
303
|
- 0
|
283
|
-
hash:
|
304
|
+
hash: 2417605498545859207
|
284
305
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
285
306
|
none: false
|
286
307
|
requirements:
|
@@ -289,7 +310,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
289
310
|
version: '0'
|
290
311
|
segments:
|
291
312
|
- 0
|
292
|
-
hash:
|
313
|
+
hash: 2417605498545859207
|
293
314
|
requirements: []
|
294
315
|
rubyforge_project:
|
295
316
|
rubygems_version: 1.8.24
|
@@ -308,6 +329,7 @@ test_files:
|
|
308
329
|
- spec/resources/channels.txt
|
309
330
|
- spec/resources/programs-without-icon.xmltv
|
310
331
|
- spec/resources/programs.xmltv
|
332
|
+
- spec/resources/recordings/Extensive Metadata/1/metadata.yml
|
311
333
|
- spec/simple_pvr/ffmpeg_spec.rb
|
312
334
|
- spec/simple_pvr/hdhomerun_spec.rb
|
313
335
|
- spec/simple_pvr/model/channel_spec.rb
|
@@ -319,6 +341,6 @@ test_files:
|
|
319
341
|
- spec/simple_pvr/recording_planner_spec.rb
|
320
342
|
- spec/simple_pvr/scheduler_spec.rb
|
321
343
|
- spec/simple_pvr/xmltv_reader_spec.rb
|
344
|
+
- test/karma.conf.js
|
322
345
|
- test/lib/angular/angular-mocks.js
|
323
|
-
- test/testacular.conf.js
|
324
346
|
- test/unit/filtersSpec.js
|
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--colour --format documentation
|