bitter 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'bitter/words'
3
+
4
+ describe "word list" do
5
+ subject { Bitter::WORDS }
6
+ it { should have(2**16).items }
7
+ it { should_not contain_duplicates }
8
+ %w{one two three four five six seven eight nine ten
9
+ eleven twelve thirteen fourteen fifteen}.each do |word|
10
+ it { should_not include(word) }
11
+ end
12
+ end
@@ -0,0 +1,28 @@
1
+ require "spec_helper"
2
+
3
+ describe Bitter do
4
+
5
+ describe ".encode" do
6
+ context "two null bytes" do
7
+ subject { [0, 0].pack('c*') }
8
+ it { should bitter_encode_to('aachen') }
9
+ end
10
+ context "three null bytes" do
11
+ subject { Bitter.encode [0, 0, 0].pack('c*') }
12
+ it { should eq('aachen aachen eight') }
13
+ end
14
+ end
15
+
16
+ describe ".decode" do
17
+ context "three null bytes" do
18
+ subject { Bitter.decode "aachen aachen eight" }
19
+ it { should eq([0, 0, 0].pack('c*')) }
20
+ end
21
+ context "hello world" do
22
+ let(:string) { "hello world!" }
23
+ subject { Bitter.decode(Bitter.encode string) }
24
+ it { should eq(string) }
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,25 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+ RSpec.configure do |config|
8
+ config.treat_symbols_as_metadata_keys_with_true_values = true
9
+
10
+ # Run specs in random order to surface order dependencies. If you find an
11
+ # order dependency and want to debug it, you can fix the order by providing
12
+ # the seed, which is printed after each run.
13
+ # --seed 1234
14
+ config.order = 'random'
15
+ end
16
+
17
+ require 'bitter'
18
+
19
+ RSpec::Matchers.define :contain_duplicates do
20
+ match { |ary| Set.new(ary).size < ary.size }
21
+ end
22
+
23
+ RSpec::Matchers.define :bitter_encode_to do |expected|
24
+ match { |actual| Bitter.encode(actual) == expected }
25
+ end
metadata ADDED
@@ -0,0 +1,105 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bitter
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ben Pringle
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-14 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.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '2.14'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '2.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
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
+ description: Represent binary data using English words
56
+ email:
57
+ - ben.pringle@gmail.com
58
+ executables:
59
+ - bitter
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - .gitignore
64
+ - Gemfile
65
+ - LICENSE.txt
66
+ - README.markdown
67
+ - Rakefile
68
+ - bin/bitter
69
+ - bitter.gemspec
70
+ - lib/bitter.rb
71
+ - lib/bitter/cli.rb
72
+ - lib/bitter/version.rb
73
+ - lib/bitter/words.rb
74
+ - spec/bitter/words_spec.rb
75
+ - spec/bitter_spec.rb
76
+ - spec/spec_helper.rb
77
+ homepage: http://github.com/Pringley/bitter
78
+ licenses:
79
+ - MIT
80
+ metadata: {}
81
+ post_install_message:
82
+ rdoc_options: []
83
+ require_paths:
84
+ - lib
85
+ required_ruby_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ requirements: []
96
+ rubyforge_project:
97
+ rubygems_version: 2.1.0
98
+ signing_key:
99
+ specification_version: 4
100
+ summary: Convert bits to words
101
+ test_files:
102
+ - spec/bitter/words_spec.rb
103
+ - spec/bitter_spec.rb
104
+ - spec/spec_helper.rb
105
+ has_rdoc: