yandex_translator 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 86053b58b044ca2b8cb7e9afa2c392fe67fddb0d
4
- data.tar.gz: 8162d1912471f0215c3c967779e2a27c59222893
3
+ metadata.gz: 83d78323fc2a4422c5ae6b89fe175b47890457b9
4
+ data.tar.gz: daa56154caf446345445aaa234e77e0a70aa9f0a
5
5
  SHA512:
6
- metadata.gz: 956e37fdd4adeb7af34673ad7659f4ea9e607cfe56df54cd09ea8b40ecfa170c8252e95b7a9be77f1e8cc63bce87649a8fa9646de922eab85dea9fbc83f3eafa
7
- data.tar.gz: 351bada1a7ba9caa2551fa0cebddeb2cc66d7a6ff0d1c5e2ff511b7133468273c21119cc62ebca85bc9f59d7fb6be3b548d0b37235e41acec82514025d6dac1f
6
+ metadata.gz: 350f1a21dc843fd96b3317a731908e2424928e0e6b3c77bef7f24f00d530d79bf830d63b4144c293dd3ccfc3aad640ff1faec1e574f1e5b56d8b8c6f6725b24c
7
+ data.tar.gz: 1fded56b2058136f84c084a86456c62b88d89a7166cc4ffa562f8ecd87cc5d1daf466efab6717fdfea24a3df904cc596d7822872202a9ad3d9ae65f8ad5f9d79
data/Rakefile CHANGED
@@ -2,6 +2,6 @@ require "bundler/gem_tasks"
2
2
  require 'rspec/core/rake_task'
3
3
  require 'yard'
4
4
 
5
- task :default => :test
5
+ task default: :spec
6
6
  RSpec::Core::RakeTask.new('spec')
7
7
  YARD::Rake::YardocTask.new
@@ -1,3 +1,3 @@
1
1
  module YandexTranslator
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -0,0 +1,64 @@
1
+ require 'spec_helper'
2
+
3
+ describe YandexTranslator::Translator do
4
+ let(:key) { 'api_key' }
5
+ subject(:translator) { YandexTranslator::Translator.new(key) }
6
+
7
+ it 'should exists' do
8
+ YandexTranslator::Translator.new(key)
9
+ end
10
+
11
+ # it 'returns YandexError for invalid key' do
12
+ # expect{YandexTranslator::Translator.new(key)}.to raise_error(YandexTranslator::YandexError)
13
+ # end
14
+
15
+ describe '#translate' do
16
+ let(:translate_url) { "https://translate.yandex.net/api/v1.5/tr.json/translate?key=#{key}&text=Car&lang=ru" }
17
+ let(:translate_response_body) { '{"code":200, "lang": "en-ru", "text": ["Автомобиль"]}' }
18
+ let!(:translate_request) do
19
+ stub_request(:get, translate_url)
20
+ .to_return(
21
+ body: translate_response_body,
22
+ headers: {'Content-Type' => 'application/json'}
23
+ )
24
+ end
25
+
26
+ it 'returns translalation' do
27
+ expect(translator.translate('Car', 'ru')).to eq ['Автомобиль']
28
+ end
29
+
30
+ context 'when server responds with invalid "lang" parameter error' do
31
+ let(:translate_request_body) { "text=Car&lang=ru-ru&key=#{key}" }
32
+ let(:translate_url) {"https://translate.yandex.net/api/v1.5/tr.json/translate?key=#{key}&text=Car&lang=ri"}
33
+ let(:translate_response_body) { '{"code":501,"message":"The specified translation direction is not supported"}' }
34
+ let!(:translate_request) do
35
+ stub_request(:get, translate_url)
36
+ .to_return(
37
+ body: translate_response_body,
38
+ )
39
+ end
40
+
41
+ it 'returns translation error' do
42
+ expect{
43
+ translator.translate('Car', 'ri')
44
+ }.to raise_error(YandexTranslator::YandexError, "The specified translation direction is not supported")
45
+ end
46
+ end
47
+ end
48
+
49
+ describe '#lang_detect' do
50
+ let(:detect_url) { "https://translate.yandex.net/api/v1.5/tr.json/detect?key=#{key}&text=Car" }
51
+ let(:detect_response_body) { '{"code": 200, "lang": "en"}' }
52
+ let!(:detect_request) do
53
+ stub_request(:get, detect_url)
54
+ .to_return(
55
+ body: detect_response_body,
56
+ headers: { 'Content-Type' => 'application/json' }
57
+ )
58
+ end
59
+
60
+ it 'returns detected language' do
61
+ expect(translator.lang_detect('Car')).to eq 'en'
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,8 @@
1
+ require 'rspec'
2
+ require 'yandex_translator'
3
+ require 'webmock/rspec'
4
+ include WebMock::API
5
+
6
+ RSpec.configure do |config|
7
+
8
+ end
@@ -11,11 +11,10 @@ Gem::Specification.new do |spec|
11
11
  spec.date = '2017-05-14'
12
12
  spec.summary = "A library for translating text using Yandex Translate API"
13
13
  spec.license = "MIT"
14
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
15
- f.match(%r{^(test|spec|features)/})
16
- end
14
+ spec.files = `git ls-files -z`.split("\x0")
17
15
  spec.bindir = "exe"
18
16
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
18
  spec.require_paths = ["lib"]
20
19
 
21
20
  spec.add_development_dependency "bundler", "~> 1.14"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yandex_translator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kozlov_Evgeny
@@ -80,6 +80,8 @@ files:
80
80
  - Rakefile
81
81
  - lib/yandex_translator.rb
82
82
  - lib/yandex_translator/version.rb
83
+ - spec/lib/yandex_translator_spec.rb
84
+ - spec/spec_helper.rb
83
85
  - yandex_translator.gemspec
84
86
  homepage:
85
87
  licenses:
@@ -105,4 +107,6 @@ rubygems_version: 2.5.2
105
107
  signing_key:
106
108
  specification_version: 4
107
109
  summary: A library for translating text using Yandex Translate API
108
- test_files: []
110
+ test_files:
111
+ - spec/lib/yandex_translator_spec.rb
112
+ - spec/spec_helper.rb