bomberman 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,4 +19,5 @@ Gem::Specification.new do |gem|
19
19
  gem.add_runtime_dependency "faraday", ["~>0.8.5"]
20
20
  gem.add_runtime_dependency "json", [">=1.7.7"]
21
21
  gem.add_development_dependency "rspec", ["~>2.12.0"]
22
+ gem.add_development_dependency "webmock"
22
23
  end
@@ -1,3 +1,3 @@
1
1
  module Bomberman
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
@@ -1,14 +1,45 @@
1
1
  require 'spec_helper'
2
2
 
3
-
4
3
  describe Bomberman::Profanity do
5
4
  before :all do
6
5
  Bomberman.configure {}
7
6
  end
8
7
 
9
- it 'should do a get request' do
10
- pending "need webmock tests"
11
- Bomberman.connection.should_receive(:get)
12
- Bomberman::Profanity.profane?("alkjsdf")
8
+ describe "profantity" do
9
+ it 'returns true if Bomber server returns 1 as profantity result' do
10
+ stub_request(:get, "https://bomberman-prod.herokuapp.com/api/v1/profanity/check?corpus=profanity_text").
11
+ with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'Token token=change me', 'Content-Type'=>'application/json; charset=utf-8', 'User-Agent'=>'Faraday v0.8.7'}).
12
+ to_return(:status => 200, :body => "1", :headers => {'Content-Type'=>'application/json; charset=utf-8'})
13
+ Bomberman::Profanity.profane?("profanity_text").should == true
14
+ end
15
+
16
+ it "returns false if Bomberman server returns something other than 1 as profanity result" do
17
+ stub_request(:get, "https://bomberman-prod.herokuapp.com/api/v1/profanity/check?corpus=nonprofanity_text").
18
+ with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'Token token=change me', 'Content-Type'=>'application/json; charset=utf-8', 'User-Agent'=>'Faraday v0.8.7'}).
19
+ to_return(:status => 200, :body => "something_else", :headers => {'Content-Type'=>'application/json; charset=utf-8'})
20
+ Bomberman::Profanity.profane?("nonprofanity_text").should == false
21
+ end
22
+ end
23
+
24
+ describe "censor" do
25
+ it "substitutes censored texts with replacement text" do
26
+ stub_request(:get, "https://bomberman-prod.herokuapp.com/api/v1/profanity/censor?corpus=The%20quick%20brown%20fox%20jumped%20over%20the%20F-BOMBing%20lazy%20dog.&replacement_text=%23%23%23%23").
27
+ with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'Token token=change me', 'Content-Type'=>'application/json; charset=utf-8', 'User-Agent'=>'Faraday v0.8.7'}).
28
+ to_return(:status => 200, :body => "{\"censored_text\":\"The quick brown fox jumped over the ### lazy dog.\"}", :headers => {'Content-Type'=>'application/json; charset=utf-8'})
29
+
30
+ profane_text = "The quick brown fox jumped over the F-BOMBing lazy dog."
31
+ Bomberman::Profanity.censor(profane_text, "####").should == "The quick brown fox jumped over the ### lazy dog."
32
+ end
33
+ end
34
+
35
+ describe "highlight" do
36
+ it "highlights captured string" do
37
+ stub_request(:get, "https://bomberman-prod.herokuapp.com/api/v1/profanity/highlight?corpus=The%20quick%20brown%20fox%20jumped%20over%20the%20F-BOMBing%20lazy%20dog.&end_tag=%3C/blink%3E&start_tag=%3Cblink%3E").
38
+ with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'Token token=change me', 'Content-Type'=>'application/json; charset=utf-8', 'User-Agent'=>'Faraday v0.8.7'}).
39
+ to_return(:status => 200, :body => "{\"highlighted_text\":\"The quick brown fox jumped over the <blink>F-BOMBing</blink> lazy dog.\"}", :headers => {'Content-Type'=>'application/json; charset=utf-8'})
40
+
41
+ profane_text = "The quick brown fox jumped over the F-BOMBing lazy dog."
42
+ Bomberman::Profanity.highlight(profane_text, "<blink>", "</blink>").should == "The quick brown fox jumped over the <blink>F-BOMBing</blink> lazy dog."
43
+ end
13
44
  end
14
- end
45
+ end
@@ -2,9 +2,10 @@ require 'rubygems'
2
2
  require 'bundler/setup'
3
3
 
4
4
  require 'bomberman'
5
+ require 'webmock/rspec'
5
6
 
6
7
  Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
7
8
 
8
9
  RSpec.configure do |config|
9
- # some (optional) config here
10
+ config.color_enabled = true
10
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bomberman
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.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-06-17 00:00:00.000000000 Z
12
+ date: 2013-07-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -59,6 +59,22 @@ dependencies:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: 2.12.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: webmock
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
62
78
  description: Client for interacting with Bomberman HTTP API. For more information
63
79
  visit http://bomberman.ikayzo.com/
64
80
  email:
@@ -68,7 +84,6 @@ extensions: []
68
84
  extra_rdoc_files: []
69
85
  files:
70
86
  - .gitignore
71
- - .rspec
72
87
  - .rvmrc
73
88
  - Gemfile
74
89
  - LICENSE.txt
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color