random_text 0.0.6.5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest CHANGED
@@ -2,13 +2,15 @@ Manifest
2
2
  README.rdoc
3
3
  Rakefile
4
4
  VERSION.yml
5
+ bin/lorem
6
+ bin/vesna
5
7
  lib/random_text.rb
8
+ lib/random_text/dictionary.rb
6
9
  lib/random_text/random_strings.rb
7
- lib/random_text/random_text.rb
8
10
  resources/lorem.txt
9
11
  resources/vesna.txt
12
+ spec/random_text/dictionary_spec.rb
10
13
  spec/random_text/random_string_spec.rb
11
- spec/random_text/random_text_spec.rb
12
14
  spec/random_text_spec.rb
13
15
  spec/spec.opts
14
16
  spec/spec_helper.rb
data/Rakefile CHANGED
@@ -1,20 +1,23 @@
1
+ require 'pathname'
1
2
  require 'rubygems'
2
3
  require 'rake'
3
4
  require 'rake/clean'
4
5
  require 'fileutils'
5
6
  require 'echoe'
6
7
 
7
- version = YAML.load_file(File.join(File.dirname(__FILE__), 'VERSION.yml')).join('.') rescue nil
8
+ version = YAML.load_file(Pathname(__FILE__).dirname + 'VERSION.yml').join('.') rescue nil
8
9
 
9
10
  echoe = Echoe.new('random_text', version) do |p|
10
11
  p.author = 'toy'
11
12
  p.summary = 'A library to generate random strings.'
12
- p.runtime_dependencies = ['activesupport']
13
+ p.project = 'toytoy'
13
14
  end
14
15
 
15
16
  desc "Replace system gem with symlink to this folder"
16
- task :ghost do
17
- path = Gem.searcher.find(echoe.name).full_gem_path
18
- system 'sudo', 'rm', '-r', path
19
- symlink File.expand_path('.'), path
17
+ task 'ghost' do
18
+ gem_path = Pathname(Gem.searcher.find(echoe.name).full_gem_path)
19
+ current_path = Pathname('.').expand_path
20
+ cmd = gem_path.writable? && gem_path.parent.writable? ? %w() : %w(sudo)
21
+ system(*cmd + %W[rm -r #{gem_path}])
22
+ system(*cmd + %W[ln -s #{current_path} #{gem_path}])
20
23
  end
data/VERSION.yml CHANGED
@@ -1 +1 @@
1
- [0, 0, 6, 5]
1
+ [1, 0, 0]
data/bin/lorem ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby -KU
2
+
3
+ require File.dirname(__FILE__) + '/../lib/random_text'
4
+
5
+ RandomText.run(ARGV)
data/bin/vesna ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby -KU
2
+
3
+ require File.dirname(__FILE__) + '/../lib/random_text'
4
+
5
+ RandomText.run(ARGV)
@@ -0,0 +1,42 @@
1
+ class RandomText
2
+ class Dictionary
3
+ def initialize(text)
4
+ @words = RandomStrings.new(text.scan(/\w{3,}/u).
5
+ collect{ |w| RandomText.downcase(w) }.
6
+ reject{ |w| w =~ /^[0-9]/u }.
7
+ uniq.map{ |w| w })
8
+ @sentences = RandomStrings.new(text.split(/[\r\n]+/u).
9
+ map(&:strip).compact.
10
+ delete_if(&:empty?).uniq)
11
+ end
12
+
13
+ def word
14
+ @words.get
15
+ end
16
+
17
+ def words(n = :all)
18
+ @words.get(n)
19
+ end
20
+
21
+ def uniq_words(n = :all)
22
+ @words.uniq(n)
23
+ end
24
+ alias_method :unique_words, :uniq_words
25
+
26
+ def sentence
27
+ @sentences.get
28
+ end
29
+
30
+ def sentences(n = :all)
31
+ @sentences.get(n)
32
+ end
33
+
34
+ def paragraph
35
+ @sentences.get(5).join(' ')
36
+ end
37
+
38
+ def paragraphs(n)
39
+ Array.new(n){ paragraph }
40
+ end
41
+ end
42
+ end
@@ -1,4 +1,4 @@
1
- module RandomText
1
+ class RandomText
2
2
  class RandomStrings < Array
3
3
  def get(count = nil)
4
4
  case count
@@ -20,5 +20,9 @@ module RandomText
20
20
  get(:all).slice(0, count)
21
21
  end
22
22
  end
23
+
24
+ def rand
25
+ self[Kernel.rand(length)]
26
+ end
23
27
  end
24
28
  end
data/lib/random_text.rb CHANGED
@@ -1,23 +1,66 @@
1
+ # encoding: utf-8
1
2
  $:.unshift(File.dirname(__FILE__)) unless
2
3
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
4
 
4
- require 'rubygems'
5
- require 'activesupport'
5
+ require 'random_text/dictionary'
6
+ require 'random_text/random_strings'
6
7
 
7
- $KCODE = 'u'
8
+ class RandomText
9
+ class << self
10
+ def dictionaries
11
+ @dictionaries ||= {}
12
+ end
8
13
 
9
- require 'random_text/random_text'
10
- require 'random_text/random_strings'
14
+ def add_dictionary(path)
15
+ const_name = classify(File.basename(path, File.extname(path)))
16
+ dictionary = Dictionary.new(File.read(path))
17
+ self.const_set(const_name, dictionary)
18
+ dictionaries[const_name] = dictionary
19
+ end
20
+
21
+ def run(args)
22
+ arg = args.join(' ').strip.downcase
23
+ arg = 'p' if arg.empty?
24
+ binary = File.basename($0)
25
+ if m = arg.match(/^(\d+)?\s*(p|w|s|u)/)
26
+ number = m[1] && m[1].to_i
27
+ dictionary = dictionaries[classify(binary)]
28
+ puts case m[2]
29
+ when 'p'
30
+ number ? dictionary.paragraphs(number) : dictionary.paragraph
31
+ when 's'
32
+ number ? dictionary.sentences(number) : dictionary.sentence
33
+ when 'w'
34
+ number ? dictionary.words(number) : dictionary.word
35
+ when 'u'
36
+ number ? dictionary.uniq_words(number) : dictionary.uniq_words
37
+ end
38
+ else
39
+ abort <<-help
40
+ #{binary} [specifier]
41
+ without specifier returns one paragraph
42
+ p, paragraph, s, sentence, w, word - one paragraph, sentence, word
43
+ X p, X paragraph, X s, X sentence, X w, X word - X paragraphs, sentences, words
44
+ u, uniq_words - all words
45
+ X u, X uniq_words - X uniq_words
46
+ help
47
+ end
48
+ end
11
49
 
12
- module RandomText
13
- VERSION = '0.0.6.2'
50
+ def classify(s)
51
+ s.split('_').map(&:capitalize).join
52
+ end
14
53
 
15
- def self.add_dictionary(path)
16
- const_name = File.basename(path, File.extname(path)).classify
17
- self.const_set(const_name, RandomText.new(File.read(path)))
54
+ OTHER_LOWER = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'.scan(/./u)
55
+ OTHER_UPPER = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'.scan(/./u)
56
+ DOWNCASE_TABLE = Hash[*(OTHER_UPPER.zip(OTHER_LOWER)).flatten]
57
+
58
+ def downcase(s)
59
+ s.downcase.gsub(/./u){ |c| DOWNCASE_TABLE[c] || c }
60
+ end
18
61
  end
19
- end
20
62
 
21
- Dir.glob(File.join(File.dirname(__FILE__), '..', 'resources', '*.txt')) do |path|
22
- RandomText.add_dictionary(path)
63
+ Dir.glob(File.join(File.dirname(__FILE__), '..', 'resources', '*.txt')) do |path|
64
+ add_dictionary(path)
65
+ end
23
66
  end
data/random_text.gemspec CHANGED
@@ -2,19 +2,20 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{random_text}
5
- s.version = "0.0.6.5"
5
+ s.version = "1.0.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["toy"]
9
- s.date = %q{2009-09-21}
9
+ s.date = %q{2009-10-16}
10
10
  s.description = %q{A library to generate random strings.}
11
11
  s.email = %q{}
12
- s.extra_rdoc_files = ["README.rdoc", "lib/random_text.rb", "lib/random_text/random_strings.rb", "lib/random_text/random_text.rb"]
13
- s.files = ["Manifest", "README.rdoc", "Rakefile", "VERSION.yml", "lib/random_text.rb", "lib/random_text/random_strings.rb", "lib/random_text/random_text.rb", "resources/lorem.txt", "resources/vesna.txt", "spec/random_text/random_string_spec.rb", "spec/random_text/random_text_spec.rb", "spec/random_text_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "random_text.gemspec"]
12
+ s.executables = ["lorem", "vesna"]
13
+ s.extra_rdoc_files = ["README.rdoc", "bin/lorem", "bin/vesna", "lib/random_text.rb", "lib/random_text/dictionary.rb", "lib/random_text/random_strings.rb"]
14
+ s.files = ["Manifest", "README.rdoc", "Rakefile", "VERSION.yml", "bin/lorem", "bin/vesna", "lib/random_text.rb", "lib/random_text/dictionary.rb", "lib/random_text/random_strings.rb", "resources/lorem.txt", "resources/vesna.txt", "spec/random_text/dictionary_spec.rb", "spec/random_text/random_string_spec.rb", "spec/random_text_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "random_text.gemspec"]
14
15
  s.homepage = %q{}
15
16
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Random_text", "--main", "README.rdoc"]
16
17
  s.require_paths = ["lib"]
17
- s.rubyforge_project = %q{random_text}
18
+ s.rubyforge_project = %q{toytoy}
18
19
  s.rubygems_version = %q{1.3.5}
19
20
  s.summary = %q{A library to generate random strings.}
20
21
 
@@ -23,11 +24,8 @@ Gem::Specification.new do |s|
23
24
  s.specification_version = 3
24
25
 
25
26
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
27
27
  else
28
- s.add_dependency(%q<activesupport>, [">= 0"])
29
28
  end
30
29
  else
31
- s.add_dependency(%q<activesupport>, [">= 0"])
32
30
  end
33
31
  end
@@ -0,0 +1,107 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper.rb'
2
+
3
+ WORD_R = /^\w+$/
4
+ SENTENCE_RS = '\w+([,;]?\W\w+)+[.!?]'
5
+ SENTENCE_R = /^#{SENTENCE_RS}$/
6
+ PARAGRAPH_R = /^(#{SENTENCE_RS} ){4}#{SENTENCE_RS}$/
7
+
8
+ Dictionary = RandomText::Dictionary
9
+ describe Dictionary do
10
+ before :each do
11
+ @text = %Q{
12
+ Typi non habent claritatem insitam, est usus legentis in iis qui facit eorum claritatem.
13
+ Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius!
14
+ Claritas est etiam processus dynamicus, qui sequitur Brahmes mutationem consuetudium lectorum?
15
+ Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.
16
+ }
17
+ @lorem = Dictionary.new(@text)
18
+ end
19
+
20
+ describe "getting word(s)" do
21
+
22
+ it "should return word" do
23
+ @lorem.word.should =~ WORD_R
24
+ end
25
+
26
+ it "should return n words" do
27
+ words = @lorem.words(5)
28
+ words.length.should == 5
29
+ words.each{ |word| word.should =~ WORD_R }
30
+ end
31
+
32
+ it "should return all words" do
33
+ words = @lorem.words
34
+ words.length.should == 39
35
+ words.each{ |word| word.should =~ WORD_R }
36
+ end
37
+
38
+ it "should return n uniq words" do
39
+ words = @lorem.uniq_words(30)
40
+ words.length.should == 30
41
+ words.uniq.should == words
42
+ end
43
+
44
+ it "should return all uniq words (it is same as all words)" do
45
+ words = @lorem.uniq_words
46
+ words.length.should == 39
47
+ words.uniq.should == words
48
+ end
49
+ end
50
+
51
+ describe "getting sentence(s)" do
52
+ it "should return sentence" do
53
+ @lorem.sentence.should =~ SENTENCE_R
54
+ end
55
+
56
+ it "should return n sentences" do
57
+ sentences = @lorem.sentences(10)
58
+ sentences.length.should == 10
59
+ sentences.each{ |sentence| sentence.should =~ SENTENCE_R }
60
+ end
61
+
62
+ it "should return all sentences" do
63
+ sentences = @lorem.sentences
64
+ sentences.length.should == 4
65
+ sentences.each{ |sentence| sentence.should =~ SENTENCE_R }
66
+ end
67
+ end
68
+
69
+ describe "paragraph(s)" do
70
+ it "should return paragraph" do
71
+ @lorem.paragraph.should =~ PARAGRAPH_R
72
+ end
73
+
74
+ it "should return n paragraphs" do
75
+ paragraphs = @lorem.paragraphs(10)
76
+ paragraphs.length.should == 10
77
+ paragraphs.each{ |paragraph| paragraph.should =~ PARAGRAPH_R }
78
+ end
79
+ end
80
+ end
81
+
82
+ describe "binaries" do
83
+ it "should return 1 paragraph by default" do
84
+ IO.popen('bin/lorem', &:read).strip.should =~ PARAGRAPH_R
85
+ end
86
+
87
+ {
88
+ %w(paragraph paragraphs p para) => PARAGRAPH_R,
89
+ %w(sentence sentences s sent) => SENTENCE_R,
90
+ %w(word words w) => WORD_R,
91
+ %w(uniq_word uniq_words u uniq) => WORD_R,
92
+ }.each do |specifiers, reg|
93
+ specifiers.each do |specifier|
94
+ describe "with specifier #{specifier}" do
95
+ it "should return #{specifiers[0]}" do
96
+ IO.popen("bin/lorem #{specifier}", &:read).strip.should =~ reg
97
+ end
98
+
99
+ it "should return 5 #{specifiers[1]}" do
100
+ lines = IO.popen("bin/lorem 5 #{specifier}", &:readlines).map(&:strip)
101
+ lines.length.should == 5
102
+ lines.each{ |line| line.should =~ reg }
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -1,65 +1,64 @@
1
1
  require File.dirname(__FILE__) + '/../spec_helper.rb'
2
2
 
3
- module RandomText
4
- describe RandomStrings do
5
- before :each do
6
- @words = %w(Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua lol)
7
- @random_words = RandomStrings.new(@words)
8
- end
3
+ RandomStrings = RandomText::RandomStrings
4
+ describe RandomStrings do
5
+ before :each do
6
+ @words = %w(Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua lol)
7
+ @random_words = RandomStrings.new(@words)
8
+ end
9
9
 
10
- it "should be equal to initialization array" do
11
- @random_words.should == @words
12
- end
10
+ it "should be equal to initialization array" do
11
+ @random_words.should == @words
12
+ end
13
13
 
14
- describe "with get" do
15
- it "should return word" do
16
- @random_words.get.should =~ /^\w+$/
17
- end
14
+ describe "with get" do
15
+ it "should return word" do
16
+ @random_words.get.should =~ /^\w+$/
18
17
  end
18
+ end
19
19
 
20
- describe "with get(n)" do
21
- it "should return words" do
22
- @random_words.get(10).all?{ |w| w.should =~ /^\w+$/ }
23
- end
20
+ describe "with get(n)" do
21
+ it "should return words" do
22
+ @random_words.get(10).all?{ |w| w.should =~ /^\w+$/ }
23
+ end
24
24
 
25
- it "should return n words" do
26
- @random_words.get(10).length.should == 10
27
- end
25
+ it "should return n words" do
26
+ @random_words.get(10).length.should == 10
28
27
  end
28
+ end
29
29
 
30
- describe "with get(:all)" do
31
- it "should return words" do
32
- @random_words.get(:all).all?{ |w| w.should =~ /^\w+$/ }
33
- end
30
+ describe "with get(:all)" do
31
+ it "should return words" do
32
+ @random_words.get(:all).all?{ |w| w.should =~ /^\w+$/ }
33
+ end
34
34
 
35
- it "should return all words" do
36
- @random_words.get(:all).sort.should == @words.sort
37
- end
35
+ it "should return all words" do
36
+ @random_words.get(:all).sort.should == @words.sort
37
+ end
38
38
 
39
- it "should return shuffled words" do
40
- @random_words.get(:all).should_not == @random_words.get(:all)
41
- end
39
+ it "should return shuffled words" do
40
+ @random_words.get(:all).should_not == @random_words.get(:all)
42
41
  end
42
+ end
43
43
 
44
- describe "with uniq(n)" do
45
- it "should return words" do
46
- @random_words.uniq(10).all?{ |w| w.should =~ /^\w+$/ }
47
- end
44
+ describe "with uniq(n)" do
45
+ it "should return words" do
46
+ @random_words.uniq(10).all?{ |w| w.should =~ /^\w+$/ }
47
+ end
48
48
 
49
- it "should return n words" do
50
- @random_words.uniq(10).length.should == 10
51
- end
49
+ it "should return n words" do
50
+ @random_words.uniq(10).length.should == 10
51
+ end
52
52
 
53
- it "should return n uniq words" do
54
- @random_words.uniq(10).uniq.length.should == 10
55
- end
53
+ it "should return n uniq words" do
54
+ @random_words.uniq(10).uniq.length.should == 10
56
55
  end
56
+ end
57
57
 
58
- describe "with uniq(:all)" do
59
- it "should call get(:all)" do
60
- @random_words.should_receive(:get).with(:all).and_return(:uniq_words)
61
- @random_words.uniq(:all).should == :uniq_words
62
- end
58
+ describe "with uniq(:all)" do
59
+ it "should call get(:all)" do
60
+ @random_words.should_receive(:get).with(:all).and_return(:uniq_words)
61
+ @random_words.uniq(:all).should == :uniq_words
63
62
  end
64
63
  end
65
64
  end
@@ -1,9 +1,19 @@
1
+ # encoding: utf-8
1
2
  require File.dirname(__FILE__) + '/spec_helper.rb'
2
3
 
3
4
  describe RandomText do
4
5
  it "should create RandomText objects for each text file" do
5
6
  Dir.glob(File.join(File.dirname(__FILE__), '..', 'resources', '*.txt')) do |path|
6
- RandomText.const_get(File.basename(path, File.extname(path)).classify).class.should == RandomText::RandomText
7
+ RandomText.const_get(RandomText.classify(File.basename(path, File.extname(path)))).class.should == RandomText::Dictionary
7
8
  end
8
9
  end
10
+
11
+ it "should classify" do
12
+ RandomText.classify('hello_world').should == 'HelloWorld'
13
+ end
14
+
15
+ it "should downcase" do
16
+ RandomText.downcase('ABCDEFGHIJKLMNOPQRSTUVWXYZ-АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ:abcdefghijklmnopqrstuvwxyz-абвгдеёжзийклмнопрстуфхцчшщъыьэюя').should ==
17
+ 'abcdefghijklmnopqrstuvwxyz-абвгдеёжзийклмнопрстуфхцчшщъыьэюя:abcdefghijklmnopqrstuvwxyz-абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
18
+ end
9
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: random_text
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6.5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - toy
@@ -9,42 +9,38 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-21 00:00:00 +04:00
12
+ date: 2009-10-16 00:00:00 +04:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: activesupport
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
14
+ dependencies: []
15
+
25
16
  description: A library to generate random strings.
26
17
  email: ""
27
- executables: []
28
-
18
+ executables:
19
+ - lorem
20
+ - vesna
29
21
  extensions: []
30
22
 
31
23
  extra_rdoc_files:
32
24
  - README.rdoc
25
+ - bin/lorem
26
+ - bin/vesna
33
27
  - lib/random_text.rb
28
+ - lib/random_text/dictionary.rb
34
29
  - lib/random_text/random_strings.rb
35
- - lib/random_text/random_text.rb
36
30
  files:
37
31
  - Manifest
38
32
  - README.rdoc
39
33
  - Rakefile
40
34
  - VERSION.yml
35
+ - bin/lorem
36
+ - bin/vesna
41
37
  - lib/random_text.rb
38
+ - lib/random_text/dictionary.rb
42
39
  - lib/random_text/random_strings.rb
43
- - lib/random_text/random_text.rb
44
40
  - resources/lorem.txt
45
41
  - resources/vesna.txt
42
+ - spec/random_text/dictionary_spec.rb
46
43
  - spec/random_text/random_string_spec.rb
47
- - spec/random_text/random_text_spec.rb
48
44
  - spec/random_text_spec.rb
49
45
  - spec/spec.opts
50
46
  - spec/spec_helper.rb
@@ -77,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
73
  version:
78
74
  requirements: []
79
75
 
80
- rubyforge_project: random_text
76
+ rubyforge_project: toytoy
81
77
  rubygems_version: 1.3.5
82
78
  signing_key:
83
79
  specification_version: 3
@@ -1,38 +0,0 @@
1
- module RandomText
2
- class RandomText
3
- def initialize(text)
4
- @words = RandomStrings.new(text.scan(/\w{3,}/).
5
- collect{ |w| chars(w).downcase.to_s }.
6
- reject{ |w| w =~ /^[0-9]/ }.
7
- uniq.map{ |w| chars(w) })
8
- @sentences = RandomStrings.new(text.split(/[\r\n]+/).
9
- map(&:strip).compact.
10
- delete_if(&:blank?).uniq)
11
- end
12
-
13
- def chars(s)
14
- s.respond_to?(:mb_chars) ? s.mb_chars : s.chars
15
- end
16
-
17
- def word
18
- @words.get
19
- end
20
-
21
- def words(n = :all)
22
- @words.get(n)
23
- end
24
-
25
- def uniq_words(n = :all)
26
- @words.uniq(n)
27
- end
28
- alias_method :unique_words, :uniq_words
29
-
30
- def sentence
31
- @sentences.get
32
- end
33
-
34
- def sentences(n = :all)
35
- @sentences.get(n)
36
- end
37
- end
38
- end
@@ -1,59 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper.rb'
2
-
3
- module RandomText
4
- describe RandomText do
5
- before :each do
6
- @text = %Q{
7
- Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem.
8
- Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius!
9
- Claritas est etiam processus dynamicus, qui sequitur J.Brahmes mutationem consuetudium lectorum?
10
- Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.
11
- }
12
- @lorem = RandomText.new(@text)
13
- end
14
-
15
- it "should return word" do
16
- @lorem.word.should =~ /^\w+$/
17
- end
18
-
19
- it "should return n words" do
20
- words = @lorem.words(5)
21
- words.length.should == 5
22
- words.each{ |word| word.should =~ /^\w+$/ }
23
- end
24
-
25
- it "should return all words" do
26
- words = @lorem.words
27
- words.length.should == 39
28
- words.each{ |word| word.should =~ /^\w+$/ }
29
- end
30
-
31
- it "should return n uniq words" do
32
- words = @lorem.uniq_words(30)
33
- words.length.should == 30
34
- words.uniq.should == words
35
- end
36
-
37
- it "should return all uniq words (it is same as all words)" do
38
- words = @lorem.uniq_words
39
- words.length.should == 39
40
- words.uniq.should == words
41
- end
42
-
43
- it "should return sentence" do
44
- @lorem.sentence.should =~ /\w+(\W\w+)+/
45
- end
46
-
47
- it "should return n sentences" do
48
- sentences = @lorem.sentences(10)
49
- sentences.length.should == 10
50
- sentences.each{ |sentence| sentence.should =~ /\w+(\W\w+)+/ }
51
- end
52
-
53
- it "should return all sentences" do
54
- sentences = @lorem.sentences
55
- sentences.length.should == 4
56
- sentences.each{ |sentence| sentence.should =~ /\w+(\W\w+)+/ }
57
- end
58
- end
59
- end