st_tools 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,112 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+
5
+ describe 'Проверка методов StTool::Fias.*' do
6
+
7
+ #-----------------------------------------------------
8
+ #
9
+ # Тесты получения aoguid
10
+ #
11
+ #-----------------------------------------------------
12
+ it '.uuid? success' do
13
+ test = ::StTools::Fias.uuid?('0c5b2444-70a0-4932-980c-b4dc0d3f02b5')
14
+ expect(test).to eq true
15
+ end
16
+
17
+ it '.uuid? fail' do
18
+ test = ::StTools::Fias.uuid?('0c5b2444-70a0-4932-980c')
19
+ expect(test).to eq false
20
+ end
21
+
22
+ it '.postalcode?("111558") success' do
23
+ test = ::StTools::Fias.postalcode?('111558')
24
+ expect(test).to eq true
25
+ end
26
+
27
+ it '.postalcode?("111") fail' do
28
+ test = ::StTools::Fias.postalcode?('111')
29
+ expect(test).to eq false
30
+ end
31
+
32
+ #-----------------------------------------------------
33
+ #
34
+ # Тесты получения aoguid
35
+ #
36
+ #-----------------------------------------------------
37
+ it 'moscow_aoguid' do
38
+ test = ::StTools::Fias.moscow_aoguid
39
+ expect(test).to eq '0c5b2444-70a0-4932-980c-b4dc0d3f02b5'
40
+ end
41
+
42
+ it 'spb_aoguid' do
43
+ test = ::StTools::Fias.spb_aoguid
44
+ expect(test).to eq 'c2deb16a-0330-4f05-821f-1d09c93331e6'
45
+ end
46
+
47
+ it 'sevastopol_aoguid' do
48
+ test = ::StTools::Fias.sevastopol_aoguid
49
+ expect(test).to eq '63ed1a35-4be6-4564-a1ec-0c51f7383314'
50
+ end
51
+
52
+ it 'baikonur_aoguid' do
53
+ test = ::StTools::Fias.baikonur_aoguid
54
+ expect(test).to eq '6fdecb78-893a-4e3f-a5ba-aa062459463b'
55
+ end
56
+
57
+
58
+ #-----------------------------------------------------
59
+ #
60
+ # Тесты проверки aoguid
61
+ #
62
+ #-----------------------------------------------------
63
+ it 'moscow? success' do
64
+ test = ::StTools::Fias.moscow?('0c5b2444-70a0-4932-980c-b4dc0d3f02b5')
65
+ expect(test).to eq true
66
+ end
67
+
68
+ it 'spb? success' do
69
+ test = ::StTools::Fias.spb?('c2deb16a-0330-4f05-821f-1d09c93331e6')
70
+ expect(test).to eq true
71
+ end
72
+
73
+ it 'sevastopol? success' do
74
+ test = ::StTools::Fias.sevastopol?('63ed1a35-4be6-4564-a1ec-0c51f7383314')
75
+ expect(test).to eq true
76
+ end
77
+
78
+ it 'baikonur? success' do
79
+ test = ::StTools::Fias.baikonur?('6fdecb78-893a-4e3f-a5ba-aa062459463b')
80
+ expect(test).to eq true
81
+ end
82
+
83
+ it 'moscow? fail' do
84
+ test = ::StTools::Fias.moscow?('c2deb16a-0330-4f05-821f-1d09c93331e6')
85
+ expect(test).to be false
86
+ end
87
+
88
+ it 'spb? fail' do
89
+ test = ::StTools::Fias.spb?('63ed1a35-4be6-4564-a1ec-0c51f7383314')
90
+ expect(test).to eq false
91
+ end
92
+
93
+ it 'sevastopol? fail' do
94
+ test = ::StTools::Fias.sevastopol?('6fdecb78-893a-4e3f-a5ba-aa062459463b')
95
+ expect(test).to eq false
96
+ end
97
+
98
+ it 'baikonur? fail' do
99
+ test = ::StTools::Fias.baikonur?('c2deb16a-0330-4f05-821f-1d09c93331e6')
100
+ expect(test).to eq false
101
+ end
102
+
103
+ it 'federal? success' do
104
+ test = ::StTools::Fias.federal?('0c5b2444-70a0-4932-980c-b4dc0d3f02b5')
105
+ expect(test).to eq true
106
+ end
107
+
108
+ it 'federal? fail' do
109
+ test = ::StTools::Fias.federal?('0c5b2444-70a0-4932-980c-b4dc053f02b5')
110
+ expect(test).to eq false
111
+ end
112
+ end
@@ -0,0 +1,64 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+
5
+ describe 'Проверка методов StTools::Human.*' do
6
+ it '.bytes(234)' do
7
+ test = ::StTools::Human.bytes(234)
8
+ expect(test).to include('234')
9
+ expect(test).to include('байт')
10
+ end
11
+
12
+ it '.bytes(14234)' do
13
+ test = ::StTools::Human.bytes(14234)
14
+ expect(test).to include('14')
15
+ expect(test).to include('кбайт')
16
+ end
17
+
18
+ it '.number(234)' do
19
+ test = ::StTools::Human.number(234)
20
+ expect(test).to include('234')
21
+ end
22
+
23
+ it '.number(14234)' do
24
+ test = ::StTools::Human.number(14234)
25
+ expect(test).to include('14')
26
+ expect(test).to include('тыс.')
27
+ end
28
+
29
+ it '.memory' do
30
+ test = ::StTools::Human.memory
31
+ expect(test).to include('байт')
32
+ end
33
+
34
+ it '.ago_in_words (:ru)' do
35
+ ::StTools::Setup.setup(:ru)
36
+ test = ::StTools::Human.ago_in_words(DateTime.new(2001,2,3,4,5,6,'+7'), true)
37
+ expect(test).to include('назад')
38
+ expect(test).to include('лет')
39
+ end
40
+
41
+ it '.ago_in_words (:en)' do
42
+ ::StTools::Setup.setup(:en)
43
+ test = ::StTools::Human.ago_in_words(DateTime.new(2001,2,3,4,5,6,'+7'), true)
44
+ expect(test).to include('ago')
45
+ expect(test).to include('years')
46
+ end
47
+
48
+ it '.format_time (:ru)' do
49
+ ::StTools::Setup.setup(:ru)
50
+ test = ::StTools::Human.format_time(Time.now, :full, :full)
51
+ expect(test).to match(/[а-я]{1,3}/)
52
+ test = ::StTools::Human.format_time(Time.now, :full, :short)
53
+ expect(test).to match(/\d{2}\/\d{2}\/\d{4}/)
54
+ end
55
+
56
+ it '.format_time (:en)' do
57
+ ::StTools::Setup.setup(:en)
58
+ test = ::StTools::Human.format_time(Time.now, :full, :full)
59
+ expect(test).to match(/[a-z]{1,3}/i)
60
+ test = ::StTools::Human.format_time(Time.now, :full, :short)
61
+ expect(test).to match(/\d{2}\/\d{2}\/\d{4}/)
62
+ end
63
+
64
+ end
@@ -0,0 +1,18 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+ describe 'Проверка методов StTools::ProgressBar.*' do
5
+
6
+ it 'Комплексный тест' do
7
+ bar = ::StTools::ProgressBar.new(title: "Тестовый запуск",
8
+ footer: "Занято [memory], выполнено за [executed_at] сек.",
9
+ max: 10000000)
10
+ # step - по умолчанию
11
+ # progress не устаналиваем
12
+
13
+ 10000010.times do |val|
14
+ bar.progress = val
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,99 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+ describe 'Проверка методов StTools::String.*' do
5
+
6
+ class String
7
+ include ::StTools::Module::String
8
+ end
9
+
10
+ it '.translit' do
11
+ test = ::StTools::String.translit('Ярослав Му(y)дрёный')
12
+ expect(test).to include('roslav')
13
+ expect(test).to include('dren')
14
+ end
15
+
16
+ it '.normalize' do
17
+ test = ::StTools::String.normalize('Ярослав Му(y)дрёный')
18
+ expect(test).to include('ярослав му(y)дреный')
19
+ end
20
+
21
+ it '.downcase("EngLish")' do
22
+ test = ::StTools::String.downcase('EngLish')
23
+ expect(test).to include('english')
24
+ end
25
+
26
+ it '.downcase("РуссКИЙ")' do
27
+ test = ::StTools::String.downcase('РуссКИЙ')
28
+ expect(test).to include('русский')
29
+ end
30
+
31
+ it '.upcase("EngLish")' do
32
+ test = ::StTools::String.upcase('EngLish')
33
+ expect(test).to include('ENGLISH')
34
+ end
35
+
36
+ it '.upcase("РуссКИЙ")' do
37
+ test = ::StTools::String.upcase('РуссКИЙ')
38
+ expect(test).to include('РУССКИЙ')
39
+ end
40
+
41
+ it '.hide_text' do
42
+ test = ::StTools::String.hide_text('Ярослав Му(y)дрёный')
43
+ expect(test).to include('*')
44
+ end
45
+
46
+ it '.split(nil, "")' do
47
+ test = ::StTools::String.split(nil, '')
48
+ expect(test.count).to be 0
49
+ end
50
+
51
+ it '.split("Имя Фамилия", " ")' do
52
+ test = ::StTools::String.split('Имя Фамилия', ' ')
53
+ expect(test.count).to be 2
54
+ expect(test.first).to eq('Имя')
55
+ expect(test.last).to eq('Фамилия')
56
+ end
57
+
58
+ it '.split("Имя , Фамилия, Анна", ",", normalize: true, sort: true)' do
59
+ test = ::StTools::String.split("Имя , Фамилия, Анна", ",", normalize: true, sort: true)
60
+ expect(test.count).to be 3
61
+ expect(test.first).to eq('анна')
62
+ expect(test.last).to eq('фамилия')
63
+ end
64
+
65
+ it '.to_range(nil)' do
66
+ test = ::StTools::String.to_range(nil)
67
+ expect(test.count).to be 0
68
+ end
69
+
70
+ it '.to_range("3, 5-7, 456, 2")' do
71
+ test = ::StTools::String.to_range("3, 5-7, 456, 2")
72
+ expect(test.count).to be 6
73
+ expect(test.first).to eq(3)
74
+ expect(test.last).to eq(2)
75
+ end
76
+
77
+ it '.to_range("3, 5-7, 456, 2", sort: true)' do
78
+ test = ::StTools::String.to_range("3, 5-7, 456, 2", sort: true)
79
+ expect(test.count).to be 6
80
+ expect(test.first).to eq(2)
81
+ expect(test.last).to eq(456)
82
+ end
83
+
84
+ it '.caps("пеТР ильЧЕНКО")' do
85
+ test = ('пеТР ильЧЕНКО').caps
86
+ expect(test).to eq('Петр Ильченко')
87
+ end
88
+
89
+ it '"True".to_bool' do
90
+ test = "True".to_bool
91
+ expect(test).to eq(true)
92
+ end
93
+
94
+ it '"Off".to_bool' do
95
+ test = "Off".to_bool
96
+ expect(test).to eq(false)
97
+ end
98
+
99
+ end
@@ -0,0 +1,25 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+ describe 'Проверка методов StTools::System.*' do
5
+ it '.memory' do
6
+ test = ::StTools::System.memory
7
+ expect(test).to be > 0
8
+ end
9
+
10
+ it '.screen(:width)' do
11
+ test = ::StTools::System.screen(:width)
12
+ expect(test).to be > 90
13
+ end
14
+
15
+ it '.screen(:width)' do
16
+ test = ::StTools::System.screen(:height)
17
+ expect(test).to be > 10
18
+ end
19
+
20
+ it '.exename' do
21
+ test = ::StTools::System.exename
22
+ expect(test).to_not be_nil
23
+ end
24
+
25
+ end
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: st_tools
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.2
5
+ platform: ruby
6
+ authors:
7
+ - Stan Zhuravlev
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-04-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.9'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ruby-progressbar
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: i18n
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: |-
70
+ Библиотека содержит функции, реализующие:
71
+ - преобразование строк с учетом русского языка
72
+ - формирования человеко-удобной информации
73
+ - получения разных системных характеристик CLI-приложений
74
+ - управление прогресс-баром CLI-приложений
75
+ email:
76
+ - stan@post-api.ru
77
+ executables: []
78
+ extensions: []
79
+ extra_rdoc_files: []
80
+ files:
81
+ - LICENSE.txt
82
+ - README.md
83
+ - bin/console
84
+ - bin/setup
85
+ - lib/i18n/en.yml
86
+ - lib/i18n/ru.yml
87
+ - lib/modules/fias.rb
88
+ - lib/modules/integer.rb
89
+ - lib/modules/string.rb
90
+ - lib/modules/time.rb
91
+ - lib/st_tools.rb
92
+ - lib/st_tools/common.rb
93
+ - lib/st_tools/fias.rb
94
+ - lib/st_tools/human.rb
95
+ - lib/st_tools/progress_bar.rb
96
+ - lib/st_tools/string.rb
97
+ - lib/st_tools/system.rb
98
+ - lib/st_tools/version.rb
99
+ - test/fias_lib_spec.rb
100
+ - test/human_lib_spec.rb
101
+ - test/progress_bar_lib_spec.rb
102
+ - test/string_lib_spec.rb
103
+ - test/system_lib_spec.rb
104
+ homepage: https://github.com/StanZhuravlev/st_tools
105
+ licenses:
106
+ - MIT
107
+ metadata:
108
+ allowed_push_host: https://rubygems.org
109
+ post_install_message:
110
+ rdoc_options: []
111
+ require_paths:
112
+ - lib
113
+ - lib/st_tools
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ requirements: []
125
+ rubyforge_project:
126
+ rubygems_version: 2.4.5
127
+ signing_key:
128
+ specification_version: 4
129
+ summary: "Методы общего назначения"
130
+ test_files: []