vk_music 2.1.5 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +8 -0
- data/.travis.yml +7 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +60 -0
- data/LICENSE.txt +21 -0
- data/README.md +81 -75
- data/Rakefile +25 -41
- data/bin/console +10 -2
- data/bin/setup +8 -0
- data/lib/vk_music.rb +18 -7
- data/lib/vk_music/audio.rb +42 -19
- data/lib/vk_music/client.rb +43 -28
- data/lib/vk_music/link_decoder.rb +0 -2
- data/lib/vk_music/utility.rb +23 -3
- data/lib/vk_music/version.rb +7 -0
- data/vk_music.gemspec +40 -22
- metadata +82 -50
- data/LICENSE +0 -9
- data/test/test_attached_audios_amount.rb +0 -82
- data/test/test_audios.rb +0 -92
- data/test/test_find.rb +0 -55
- data/test/test_from_id.rb +0 -69
- data/test/test_last_post_id.rb +0 -46
- data/test/test_login.rb +0 -29
- data/test/test_page_id.rb +0 -113
- data/test/test_playlist.rb +0 -109
- data/test/test_post.rb +0 -77
- data/test/test_wall.rb +0 -56
data/LICENSE
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2019 Kuznecov Vladislav
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
6
|
-
|
7
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
8
|
-
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,82 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require_relative "../lib/vk_music.rb"
|
3
|
-
|
4
|
-
begin
|
5
|
-
CLIENT = VkMusic::Client.new(username: ARGV[0], password: ARGV[1])
|
6
|
-
rescue VkMusic::LoginError
|
7
|
-
puts "Unable to login! Please check provided credetionals"
|
8
|
-
exit
|
9
|
-
end
|
10
|
-
|
11
|
-
class TestVkMusic < MiniTest::Test
|
12
|
-
|
13
|
-
# NOTICE: This method is indirectly tested in test_post.rb
|
14
|
-
|
15
|
-
def test_simple
|
16
|
-
re = CLIENT.attached_audios_amount("https://vk.com/wall-184089233_6")
|
17
|
-
assert_equal(1, re, "This post got only 1 attached audio")
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_empty
|
21
|
-
re = CLIENT.attached_audios_amount("https://vk.com/wall-184089233_2")
|
22
|
-
assert_equal(0, re, "This post got no attached audios")
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_single_audio
|
26
|
-
re = CLIENT.attached_audios_amount("https://vk.com/wall-184089233_6")
|
27
|
-
assert_equal(1, re, "This post got only 1 attached audio")
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_single_audio_with_options
|
31
|
-
re = CLIENT.attached_audios_amount(owner_id: -184089233, post_id: 6)
|
32
|
-
assert_equal(1, re, "This post got only 1 attached audio")
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_no_audio
|
36
|
-
re = CLIENT.attached_audios_amount("https://vk.com/wall-184089233_2")
|
37
|
-
assert_equal(0, re, "This post got no attached audios")
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_url_to_reply
|
41
|
-
re = CLIENT.attached_audios_amount("https://m.vk.com/wall-4790861_10108")
|
42
|
-
assert_equal(1, re, "Although this link redirects to comment, audios from post must be parsed")
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_playlist
|
46
|
-
re = CLIENT.attached_audios_amount("vk.com/wall-184089233_4")
|
47
|
-
assert_equal(0, re, "This post got no attached audios")
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_comments_with_audios
|
51
|
-
re = CLIENT.attached_audios_amount("https://m.vk.com/wall-39786657_189247")
|
52
|
-
assert_equal(1, re, "This post got 1 attached audio")
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_repost_with_no_audios
|
56
|
-
re = CLIENT.attached_audios_amount("https://vk.com/wall-184936953_1")
|
57
|
-
assert_equal(0, re, "This post got no attached audios")
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_repost_with_audios
|
61
|
-
re = CLIENT.attached_audios_amount("https://vk.com/wall-184936953_2")
|
62
|
-
assert_equal(1, re, "This post got 1 attached audio")
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_repost_with_playlist
|
66
|
-
re = CLIENT.attached_audios_amount("https://vk.com/wall-184936953_3")
|
67
|
-
assert_equal(0, re, "This post got no attached audios")
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_bad_url
|
71
|
-
assert_raises(ArgumentError) do
|
72
|
-
CLIENT.attached_audios_amount("ae")
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_nonexistent_post
|
77
|
-
assert_raises(VkMusic::ParseError) do
|
78
|
-
CLIENT.attached_audios_amount("https://m.vk.com/wall-4790861_1052600000")
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
end
|
data/test/test_audios.rb
DELETED
@@ -1,92 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require_relative "../lib/vk_music.rb"
|
3
|
-
|
4
|
-
begin
|
5
|
-
CLIENT = VkMusic::Client.new(username: ARGV[0], password: ARGV[1])
|
6
|
-
rescue VkMusic::LoginError
|
7
|
-
puts "Unable to login! Please check provided credetionals"
|
8
|
-
exit
|
9
|
-
end
|
10
|
-
|
11
|
-
class TestVkMusic < MiniTest::Test
|
12
|
-
|
13
|
-
def test_user
|
14
|
-
pl = CLIENT.audios(owner_id: 8024985)
|
15
|
-
assert_instance_of(VkMusic::Playlist, pl, "User audios must be returned as a playlist (cause it is actually is playlist)")
|
16
|
-
refute_empty(pl, "There must be some music")
|
17
|
-
assert_instance_of(VkMusic::Audio, pl[0], "Results must be of class Audio")
|
18
|
-
refute_empty(pl[0].url, "Audio must have download url")
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_user_without_url
|
22
|
-
pl = CLIENT.audios("vk.com/id8024985", with_url: false)
|
23
|
-
assert_instance_of(VkMusic::Playlist, pl, "User audios must be returned as a playlist (cause it is actually is playlist)")
|
24
|
-
refute_empty(pl, "There must be some music")
|
25
|
-
assert_instance_of(VkMusic::Audio, pl[0], "Results must be of class Audio")
|
26
|
-
assert(pl[0].url_accessable?, "Audio must have all the data needed for getting download URL")
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_user_by_audios_url
|
30
|
-
pl = CLIENT.audios("https://m.vk.com/audios8024985")
|
31
|
-
refute_empty(pl, "This user got audios")
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_incorrect_id
|
35
|
-
assert_raises(VkMusic::ParseError) do
|
36
|
-
CLIENT.audios(owner_id: 42424242424242424242424242)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_user_with_locked_audios
|
41
|
-
assert_raises(VkMusic::ParseError) do
|
42
|
-
CLIENT.audios(owner_id: 152719703)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_user_with_empty_audios
|
47
|
-
pl = CLIENT.audios(owner_id: 437727675)
|
48
|
-
assert_empty(pl, "This user got no audios")
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_group
|
52
|
-
pl = CLIENT.audios(owner_id: -4790861)
|
53
|
-
refute_empty(pl, "There must be some music")
|
54
|
-
refute_nil(pl[0].url, "Audio must have download url")
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_group_with_upper_limit_1
|
58
|
-
pl = CLIENT.audios(owner_id: -72589944, up_to: 10)
|
59
|
-
assert_equal(10, pl.length, "Size of result must match given limit") # This group got more audios
|
60
|
-
refute_nil(pl[0].url, "Audio must have download url")
|
61
|
-
end
|
62
|
-
|
63
|
-
def test_group_with_upper_limit_2
|
64
|
-
pl = CLIENT.audios(owner_id: -72589944, up_to: 111, with_url: true)
|
65
|
-
assert_equal(111, pl.size, "Size of result must match given limit")
|
66
|
-
refute_nil(pl[0].url, "Audio must have download url")
|
67
|
-
#refute_nil(pl[-1].url, "Audio must have download url") # Won't have link cause of VK restrictions
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_group_with_upper_limit_3
|
71
|
-
pl = CLIENT.audios(owner_id: -39786657, up_to: 1000, with_url: false)
|
72
|
-
assert_equal(1000, pl.size, "Size of result must match given limit") # NOTICE: VK restrictions
|
73
|
-
assert(pl[0].url_accessable?, "Audio must have all the data needed for getting download URL")
|
74
|
-
assert(pl[-1].url_accessable?, "Audio must have all the data needed for getting download URL")
|
75
|
-
end
|
76
|
-
|
77
|
-
def test_group_with_no_audios
|
78
|
-
pl = CLIENT.audios("vk.com/club52298374")
|
79
|
-
assert_empty(pl, "This group got no audios")
|
80
|
-
end
|
81
|
-
|
82
|
-
def test_group_by_custom_id
|
83
|
-
pl = CLIENT.audios("vk.com/mashup")
|
84
|
-
refute_empty(pl, "This group got audios")
|
85
|
-
end
|
86
|
-
|
87
|
-
def test_group_by_audios_url
|
88
|
-
pl = CLIENT.audios("https://m.vk.com/audios-39786657")
|
89
|
-
refute_empty(pl, "This group got audios")
|
90
|
-
end
|
91
|
-
|
92
|
-
end
|
data/test/test_find.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require_relative "../lib/vk_music.rb"
|
3
|
-
|
4
|
-
begin
|
5
|
-
CLIENT = VkMusic::Client.new(username: ARGV[0], password: ARGV[1])
|
6
|
-
rescue VkMusic::LoginError
|
7
|
-
puts "Unable to login! Please check provided credetionals"
|
8
|
-
exit
|
9
|
-
end
|
10
|
-
|
11
|
-
class TestVkMusic < MiniTest::Test
|
12
|
-
|
13
|
-
def test_find
|
14
|
-
results = CLIENT.find("Rick Astley")
|
15
|
-
refute_empty(results, "There must be some music of Rick Astley")
|
16
|
-
assert_instance_of(VkMusic::Audio, results[0], "Results of search must be of class Audio")
|
17
|
-
refute_nil(results[0].url, "Audio must have download url")
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_find_no_query
|
21
|
-
results = CLIENT.find("")
|
22
|
-
assert_empty(results, "There must be no results for empty query")
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_find_no_results
|
26
|
-
results = CLIENT.find("I'm pretty sure no one ever would name a song like this 282E8EE")
|
27
|
-
assert_empty(results, "There must be no results for such query")
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_search_with_hash
|
31
|
-
results = CLIENT.search(query: "Sexualizer")
|
32
|
-
refute_empty(results, "There must be some good music")
|
33
|
-
assert_instance_of(VkMusic::Audio, results[0], "Results of search must be of class Audio")
|
34
|
-
refute_nil(results[0].url, "Audio must have download url")
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_find_bad_arg
|
38
|
-
assert_raises(ArgumentError) do
|
39
|
-
CLIENT.search("Good music", "or not")
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_find_playlist
|
44
|
-
results = CLIENT.find("OST", type: :playlist)
|
45
|
-
refute_empty(results, "There must be lot of playlists")
|
46
|
-
assert_empty(results[0], "Album must be empty")
|
47
|
-
refute_equal(0, results[0].real_size, "Album must actually have some audios")
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_find_unexisting_playlist
|
51
|
-
results = CLIENT.find("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", type: :playlist)
|
52
|
-
assert_empty(results, "There must be no results for such query")
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|
data/test/test_from_id.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require_relative "../lib/vk_music.rb"
|
3
|
-
|
4
|
-
begin
|
5
|
-
CLIENT = VkMusic::Client.new(username: ARGV[0], password: ARGV[1])
|
6
|
-
rescue VkMusic::LoginError
|
7
|
-
puts "Unable to login! Please check provided credetionals"
|
8
|
-
exit
|
9
|
-
end
|
10
|
-
|
11
|
-
class TestVkMusic < MiniTest::Test
|
12
|
-
|
13
|
-
def test_one_id
|
14
|
-
results = CLIENT.from_id([
|
15
|
-
"2000202604_456242434_32f6f3df29dc8e9c71_82fbafed15ef65709b"
|
16
|
-
])
|
17
|
-
refute_empty(results, "There must be some music")
|
18
|
-
assert_instance_of(Array, results, "Result must be an Array")
|
19
|
-
assert_instance_of(VkMusic::Audio, results[0], "Results of search must be of class Audio")
|
20
|
-
refute_nil(results[0].url, "Audio must have download url")
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_two_id
|
24
|
-
results = CLIENT.from_id([
|
25
|
-
"2000202604_456242434_32f6f3df29dc8e9c71_82fbafed15ef65709b",
|
26
|
-
["2000023175", "456242595", "addd832f78d7c61b6d", "b6b14f49280d4d55f0"]
|
27
|
-
])
|
28
|
-
assert_equal(2, results.size, "There must be 2 audios")
|
29
|
-
refute_nil(results[1].url, "Audio must have download url")
|
30
|
-
end
|
31
|
-
|
32
|
-
# TODO: test with many audios
|
33
|
-
|
34
|
-
def test_bad_last
|
35
|
-
assert_raises(VkMusic::ParseError) do
|
36
|
-
CLIENT.from_id([
|
37
|
-
"2000202604_456242434_32f6f3df29dc8e9c71_82fbafed15ef65709b",
|
38
|
-
["42", "1337", "aaaa", "aaaaaa"]
|
39
|
-
])
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_bad_first
|
44
|
-
assert_raises(VkMusic::ParseError) do
|
45
|
-
CLIENT.from_id([
|
46
|
-
["42", "1337", "aaaa", "aaaaaa"],
|
47
|
-
"2000202604_456242434_32f6f3df29dc8e9c71_82fbafed15ef65709b"
|
48
|
-
])
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_bad_all
|
53
|
-
assert_raises(VkMusic::ParseError) do
|
54
|
-
CLIENT.from_id([
|
55
|
-
["42", "1337", "aaaa", "aaaaaa"],
|
56
|
-
"123_123_123_123"
|
57
|
-
])
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_initial_array_not_changed
|
62
|
-
init = [
|
63
|
-
["2000023175", "456242595", "addd832f78d7c61b6d", "b6b14f49280d4d55f0"]
|
64
|
-
]
|
65
|
-
CLIENT.from_id(init)
|
66
|
-
assert_instance_of(Array, init[0], "Function must not change initial array")
|
67
|
-
end
|
68
|
-
|
69
|
-
end
|
data/test/test_last_post_id.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require_relative "../lib/vk_music.rb"
|
3
|
-
|
4
|
-
begin
|
5
|
-
CLIENT = VkMusic::Client.new(username: ARGV[0], password: ARGV[1])
|
6
|
-
rescue VkMusic::LoginError
|
7
|
-
puts "Unable to login! Please check provided credetionals"
|
8
|
-
exit
|
9
|
-
end
|
10
|
-
|
11
|
-
class TestVkMusic < MiniTest::Test
|
12
|
-
|
13
|
-
def test_empty_group
|
14
|
-
re = CLIENT.last_post_id("https://vk.com/club185224844")
|
15
|
-
assert_nil(re, "This group is empty")
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_not_empty_group
|
19
|
-
re = CLIENT.last_post_id("https://vk.com/mashup")
|
20
|
-
refute_nil(re, "This group is not empty")
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_not_empty_user
|
24
|
-
re = CLIENT.last_post_id("https://vk.com/id1")
|
25
|
-
refute_nil(re, "This user got posts")
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_bad_url_1
|
29
|
-
assert_raises(VkMusic::ParseError) do
|
30
|
-
CLIENT.last_post_id("https://vk.com/id10000000000000")
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_bad_url_2
|
35
|
-
assert_raises(VkMusic::ParseError) do
|
36
|
-
CLIENT.last_post_id("https://vk.com/feed")
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_bad_url_3
|
41
|
-
assert_raises(ArgumentError) do
|
42
|
-
CLIENT.last_post_id("https://vk.com/id0")
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
data/test/test_login.rb
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require_relative "../lib/vk_music.rb"
|
3
|
-
|
4
|
-
class TestVkMusic < MiniTest::Test
|
5
|
-
|
6
|
-
def test_bad_data
|
7
|
-
assert_raises(VkMusic::LoginError) do
|
8
|
-
VkMusic::Client.new(username: "login", password: "password")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_empty_data
|
13
|
-
assert_raises(VkMusic::LoginError) do
|
14
|
-
VkMusic::Client.new(username: "", password: "")
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_good_data
|
19
|
-
begin
|
20
|
-
client = VkMusic::Client.new(username: ARGV[0], password: ARGV[1])
|
21
|
-
rescue VkMusic::LoginError
|
22
|
-
puts "Unable to login! Please check provided credetionals"
|
23
|
-
end
|
24
|
-
refute_nil(client, "Client not defined")
|
25
|
-
refute_empty(client.name, "User name undefined")
|
26
|
-
refute_nil(client.id, "User id undefined")
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
data/test/test_page_id.rb
DELETED
@@ -1,113 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require_relative "../lib/vk_music.rb"
|
3
|
-
|
4
|
-
begin
|
5
|
-
CLIENT = VkMusic::Client.new(username: ARGV[0], password: ARGV[1])
|
6
|
-
rescue VkMusic::LoginError
|
7
|
-
puts "Unable to login! Please check provided credetionals"
|
8
|
-
exit
|
9
|
-
end
|
10
|
-
|
11
|
-
class TestVkMusic < MiniTest::Test
|
12
|
-
|
13
|
-
def test_user_link_with_id
|
14
|
-
id = CLIENT.page_id("https://vk.com/id51842614")
|
15
|
-
assert_equal(51842614, id, "Ids don't match")
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_user_custom_link
|
19
|
-
id = CLIENT.page_id("https://vk.com/kopatych56")
|
20
|
-
assert_equal(51842614, id, "Ids don't match")
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_user_custom
|
24
|
-
id = CLIENT.page_id("kopatych56")
|
25
|
-
assert_equal(51842614, id, "Ids don't match")
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_user_id
|
29
|
-
id = CLIENT.page_id("51842614")
|
30
|
-
assert_equal(51842614, id, "Ids don't match")
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_user_id_with_prefix
|
34
|
-
id = CLIENT.page_id("id51842614")
|
35
|
-
assert_equal(51842614, id, "Ids don't match")
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_user_audios
|
39
|
-
id = CLIENT.page_id("https://vk.com/audios51842614")
|
40
|
-
assert_equal(51842614, id, "Ids don't match")
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
def test_group_link_with_id
|
45
|
-
id = CLIENT.page_id("https://vk.com/public39786657")
|
46
|
-
assert_equal(-39786657, id, "Ids don't match")
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_group_custom_link
|
50
|
-
id = CLIENT.page_id("https://vk.com/mashup")
|
51
|
-
assert_equal(-39786657, id, "Ids don't match")
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_group_custom
|
55
|
-
id = CLIENT.page_id("mashup")
|
56
|
-
assert_equal(-39786657, id, "Ids don't match")
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_group_id
|
60
|
-
id = CLIENT.page_id("-39786657")
|
61
|
-
assert_equal(-39786657, id, "Ids don't match")
|
62
|
-
end
|
63
|
-
|
64
|
-
def test_group_id_with_prefix
|
65
|
-
id = CLIENT.page_id("public39786657")
|
66
|
-
assert_equal(-39786657, id, "Ids don't match")
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_group_audios
|
70
|
-
id = CLIENT.page_id("https://vk.com/audios-39786657")
|
71
|
-
assert_equal(-39786657, id, "Ids don't match")
|
72
|
-
end
|
73
|
-
|
74
|
-
|
75
|
-
def test_user_deleted
|
76
|
-
id = CLIENT.page_id("https://vk.com/id245722576")
|
77
|
-
assert_equal(245722576, id, "Ids don't match")
|
78
|
-
end
|
79
|
-
|
80
|
-
def test_user_no_photos
|
81
|
-
id = CLIENT.page_id("drop_the_treble")
|
82
|
-
assert_equal(437727675, id, "Ids don't match")
|
83
|
-
end
|
84
|
-
|
85
|
-
def test_user_private
|
86
|
-
id = CLIENT.page_id("poppingeyesocketcherry") # I hope this guy won't change his custom
|
87
|
-
assert_equal(300415, id, "Ids don't match")
|
88
|
-
end
|
89
|
-
|
90
|
-
def test_group_no_photos
|
91
|
-
id = CLIENT.page_id("vk.com/opentestroom")
|
92
|
-
assert_equal(-184089233, id, "Ids don't match")
|
93
|
-
end
|
94
|
-
|
95
|
-
def test_bad_url
|
96
|
-
assert_raises(VkMusic::ParseError) do
|
97
|
-
CLIENT.page_id("https://vk.com/feed")
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
def test_bad_custom
|
102
|
-
assert_raises(VkMusic::ParseError) do
|
103
|
-
CLIENT.page_id("a")
|
104
|
-
end
|
105
|
-
end
|
106
|
-
|
107
|
-
def test_empty
|
108
|
-
assert_raises(VkMusic::ParseError) do
|
109
|
-
CLIENT.page_id("")
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
end
|