anyplayer 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module Anyplayer
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -1,75 +1,16 @@
1
- require "minitest/unit"
2
- require "minitest/autorun"
3
- require "anyplayer"
1
+ require "test_helper"
4
2
 
5
3
  class AnyplayerTest < MiniTest::Unit::TestCase
6
- def setup
7
- @player = Anyplayer::launched
8
- refute_nil @player, "Make sure you have launched a player for tests to run"
9
- end
10
-
11
- def test_music_player_running
12
- assert_kind_of Anyplayer::Player, @player
13
- end
14
-
15
-
16
- def test_voting
17
- assert_equal @player.votes, 0
18
-
19
- first_track = @player.track
20
-
21
- Anyplayer::Player::DEFAULT_VOTES_TO_SKIP.times do |i|
22
- @player.vote
23
-
24
- # votes should be 0 if we've voted enough times
25
- if i == Anyplayer::Player::DEFAULT_VOTES_TO_SKIP-1
26
- assert_equal @player.votes, 0
27
- else
28
- assert_equal @player.votes, i+1
29
- end
4
+ def test_deprecated_launched
5
+ assert_output nil, "Anyplayer.launched is deprecated: please initialize a new Selector and call player\n" do
6
+ deprecated_player = Anyplayer::launched
7
+ assert_kind_of Player, deprecated_player
30
8
  end
31
-
32
- # make sure we actually changed tracks
33
- refute_equal @player.track, first_track
34
-
35
- # rewind test
36
- @player.prev
37
- @player.play
38
- end
39
-
40
- def test_vote_resets
41
- assert_equal @player.votes, 0
42
-
43
- @player.next
44
- assert_equal @player.votes, 0
45
-
46
- @player.prev
47
- assert_equal @player.votes, 0
48
9
  end
49
10
 
50
- def test_custom_voting_quota
51
- assert_equal @player.votes, 0
52
-
53
- num_votes = 10
54
-
55
- first_track = @player.track
56
-
57
- num_votes.times do |i|
58
- @player.vote(num_votes)
59
-
60
- # votes should be 0 if we've voted enough times
61
- if i == num_votes-1
62
- assert_equal @player.votes, 0
63
- else
64
- assert_equal @player.votes, i+1
65
- end
66
- end
67
-
68
- # make sure we actually changed tracks
69
- refute_equal @player.track, first_track
70
-
71
- # rewind test
72
- @player.prev
73
- @player.play
74
- end
11
+ # def test_loading_all_players
12
+ # PLAYERS.each do |player|
13
+ # require "anyplayer/players/#{player}"
14
+ # end
15
+ # end
75
16
  end
@@ -0,0 +1,53 @@
1
+ require "test_helper"
2
+
3
+ class PlayerTest < MiniTest::Unit::TestCase
4
+ include FlexMock::TestCase
5
+
6
+ def setup
7
+ @player = Noplayer.new
8
+ end
9
+
10
+ def test_votes
11
+ Player::DEFAULT_VOTES_TO_SKIP.times do |i|
12
+ @player.vote
13
+
14
+ # votes should be 0 if we've voted enough times
15
+ if i == Player::DEFAULT_VOTES_TO_SKIP - 1
16
+ assert_equal @player.votes, 0
17
+ else
18
+ assert_equal @player.votes, i + 1
19
+ end
20
+ end
21
+ end
22
+
23
+ def test_voting_changes_track
24
+ flexmock(@player).should_receive(:next).once
25
+ Player::DEFAULT_VOTES_TO_SKIP.times { @player.vote }
26
+ end
27
+
28
+ def test_vote_resets
29
+ assert_equal @player.votes, 0
30
+
31
+ @player.vote
32
+ @player.next
33
+ assert_equal @player.votes, 0
34
+
35
+ @player.vote
36
+ @player.prev
37
+ assert_equal @player.votes, 0
38
+ end
39
+
40
+ def test_custom_voting_quota
41
+ 10.times do |i|
42
+ @player.vote(10)
43
+
44
+ if i == 9
45
+ assert_equal @player.votes, 0
46
+ else
47
+ assert_equal @player.votes, i + 1
48
+ end
49
+ end
50
+ end
51
+
52
+
53
+ end
@@ -0,0 +1,26 @@
1
+ require "test_helper"
2
+
3
+ class AnyplayerTest < MiniTest::Unit::TestCase
4
+ def test_player
5
+ selector = Selector.new
6
+ player = selector.player
7
+ assert_kind_of Player, player
8
+ end
9
+
10
+ def test_verbose_accessor
11
+ selector = Selector.new
12
+ assert !selector.verbose
13
+
14
+ selector.verbose = true
15
+ assert selector.verbose
16
+ end
17
+
18
+ def test_verbose_flag_messages
19
+ selector = Selector.new
20
+ selector.verbose = true
21
+
22
+ assert_output nil, "Loaded noplayer\nNoplayer launched?\n" do
23
+ selector.player
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,9 @@
1
+ require "minitest/unit"
2
+ require "minitest/autorun"
3
+ require "flexmock/test_unit"
4
+ require "anyplayer"
5
+
6
+ require "anyplayer/players/noplayer"
7
+ Anyplayer::PLAYERS.unshift "noplayer"
8
+
9
+ include Anyplayer
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anyplayer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-01-22 00:00:00.000000000 Z
13
+ date: 2013-03-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: minitest
@@ -28,6 +28,22 @@ dependencies:
28
28
  - - ! '>='
29
29
  - !ruby/object:Gem::Version
30
30
  version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: flexmock
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
31
47
  description: Play/pause/skip songs in iTunes, Rythmbox, MPD, XMMS
32
48
  email:
33
49
  - sunny@sunfox.org
@@ -48,13 +64,18 @@ files:
48
64
  - lib/anyplayer.rb
49
65
  - lib/anyplayer/player.rb
50
66
  - lib/anyplayer/players/amarok.rb
51
- - lib/anyplayer/players/itunes.rb
52
- - lib/anyplayer/players/ituneswindows.rb
67
+ - lib/anyplayer/players/itunes_mac.rb
68
+ - lib/anyplayer/players/itunes_windows.rb
53
69
  - lib/anyplayer/players/mpd.rb
70
+ - lib/anyplayer/players/noplayer.rb
54
71
  - lib/anyplayer/players/rhythmbox.rb
55
72
  - lib/anyplayer/players/xmms2.rb
73
+ - lib/anyplayer/selector.rb
56
74
  - lib/anyplayer/version.rb
57
75
  - test/anyplayer_test.rb
76
+ - test/player_test.rb
77
+ - test/selector_test.rb
78
+ - test/test_helper.rb
58
79
  homepage: http://github.com/sunny/anyplayer
59
80
  licenses: []
60
81
  post_install_message:
@@ -67,12 +88,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
67
88
  - - ! '>='
68
89
  - !ruby/object:Gem::Version
69
90
  version: '0'
91
+ segments:
92
+ - 0
93
+ hash: -3141794029494105960
70
94
  required_rubygems_version: !ruby/object:Gem::Requirement
71
95
  none: false
72
96
  requirements:
73
97
  - - ! '>='
74
98
  - !ruby/object:Gem::Version
75
99
  version: '0'
100
+ segments:
101
+ - 0
102
+ hash: -3141794029494105960
76
103
  requirements: []
77
104
  rubyforge_project:
78
105
  rubygems_version: 1.8.23
@@ -81,3 +108,6 @@ specification_version: 3
81
108
  summary: Interact with the running music player
82
109
  test_files:
83
110
  - test/anyplayer_test.rb
111
+ - test/player_test.rb
112
+ - test/selector_test.rb
113
+ - test/test_helper.rb
@@ -1,66 +0,0 @@
1
- if RUBY_PLATFORM =~ /darwin/
2
- require 'appscript'
3
- include Appscript
4
- end
5
-
6
- module Anyplayer
7
- class Itunes < Player
8
- def playpause
9
- @app.playpause
10
- end
11
-
12
- def play
13
- @app.play
14
- end
15
-
16
- def pause
17
- @app.pause
18
- end
19
-
20
- def prev
21
- @app.previous_track
22
- super
23
- end
24
-
25
- def next
26
- @app.next_track
27
- super
28
- end
29
-
30
- def voldown
31
- @app.sound_volume.set(volume + 10)
32
- end
33
-
34
- def volup
35
- @app.sound_volume.set(volume + 10)
36
- end
37
-
38
- def volume
39
- @app.sound_volume.get
40
- end
41
-
42
- def track
43
- @app.current_track.name.get
44
- end
45
-
46
- def artist
47
- @app.current_track.artist.get
48
- end
49
-
50
- def album
51
- @app.current_track.album.get
52
- end
53
-
54
- def launched?
55
- return false unless RUBY_PLATFORM =~ /darwin/
56
- return false unless app('System Events').processes.name.get.include? "iTunes"
57
- @app = app('iTunes')
58
- true
59
- end
60
-
61
- def name
62
- "iTunes"
63
- end
64
- end
65
- end
66
-
@@ -1,66 +0,0 @@
1
- module Anyplayer
2
- class Ituneswindows < Player
3
- def playpause
4
- @itunes.PlayPause()
5
- end
6
-
7
- def play
8
- @itunes.Play()
9
- end
10
-
11
- def pause
12
- @itunes.Pause()
13
- end
14
-
15
- def prev
16
- @itunes.PreviousTrack()
17
- super
18
- end
19
-
20
- def next
21
- @itunes.NextTrack()
22
- super
23
- end
24
-
25
- def voldown
26
- @itunes.SoundVolume=@itunes.SoundVolume - 10
27
- end
28
-
29
- def volup
30
- @itunes.SoundVolume=@itunes.SoundVolume + 10
31
- end
32
-
33
- def volume
34
- @itunes.SoundVolume
35
- end
36
-
37
- def track
38
- @itunes.CurrentTrack.name
39
- end
40
-
41
- def artist
42
- @itunes.CurrentTrack.Artist
43
- end
44
-
45
- def album
46
- @itunes.CurrentTrack.Album
47
- end
48
-
49
- def launched?
50
- return false if RUBY_PLATFORM !~ /cygwin|mswin|mingw|bccwin|wince|emx/
51
-
52
- begin
53
- require 'win32ole'
54
- @itunes = WIN32OLE.new("iTunes.Application")
55
- return true
56
- rescue LoadError
57
- return false
58
- end
59
- end
60
-
61
- def name
62
- "iTunes Windows"
63
- end
64
- end
65
- end
66
-