code_zauker 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/Gemfile +7 -0
- data/Rakefile +21 -0
- data/bin/czindexer +15 -0
- data/bin/czsearch +17 -0
- data/code_zauker.gemspec +32 -0
- data/lib/code_zauker/version.rb +3 -0
- data/lib/code_zauker.rb +128 -0
- data/readme.org +10 -0
- data/test/fixture/TEST_LICENSE.txt +1000 -0
- data/test/fixture/foolish.txt +1 -0
- data/test/fixture/kurukku.txt +2 -0
- data/test/test_search.rb +74 -0
- metadata +95 -0
@@ -0,0 +1 @@
|
|
1
|
+
foolish
|
data/test/test_search.rb
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
# To test use
|
3
|
+
# rake TEST=test/test_search.rb
|
4
|
+
require 'test/unit'
|
5
|
+
#require 'girl_friday'
|
6
|
+
require 'code_zauker'
|
7
|
+
|
8
|
+
# See ri Test::Unit::Assertions
|
9
|
+
# for assertion documentation
|
10
|
+
class FileScannerBasicSearch < Test::Unit::TestCase
|
11
|
+
def test_benchmark
|
12
|
+
require "benchmark"
|
13
|
+
fs=CodeZauker::FileScanner.new()
|
14
|
+
time = Benchmark.bm(7) do |x|
|
15
|
+
x.report ("kurukku.txt") { fs.load("./test/fixture/kurukku.txt") }
|
16
|
+
x.report ("BigFile") { fs.load("./test/fixture/TEST_LICENSE.txt")}
|
17
|
+
x.report("Search common words"){ fs.search("and"); fs.search("terms") }
|
18
|
+
end
|
19
|
+
puts "Bench Result..."
|
20
|
+
puts time
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
def test_scanner_trigram_simple
|
25
|
+
fs=CodeZauker::FileScanner.new()
|
26
|
+
fs.load("./readme.org",noReload=true)
|
27
|
+
fs.load("./test/fixture/kurukku.txt")
|
28
|
+
files=fs.search("kku")
|
29
|
+
assert (files[0].include?("fixture/kurukku.txt")==true)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_scanner_long_word
|
33
|
+
fs=CodeZauker::FileScanner.new()
|
34
|
+
fs.load("./test/fixture/kurukku.txt")
|
35
|
+
files=fs.search("\"Be hungry, be foolish\"")
|
36
|
+
assert(files[0].include?("test/fixture/kurukku.txt")==true)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_foolish
|
40
|
+
fs=CodeZauker::FileScanner.new()
|
41
|
+
fs.load("./test/fixture/kurukku.txt")
|
42
|
+
fs.load("./test/fixture/foolish.txt")
|
43
|
+
# foolish is a good example because it is not multiple of 3
|
44
|
+
files=fs.search("foolish")
|
45
|
+
#puts "GGG #{files}"
|
46
|
+
assert(files.include?("./test/fixture/foolish.txt") == true)
|
47
|
+
assert(files.include?("./test/fixture/kurukku.txt") ==true)
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_less_then3_must_not_give_Redis_error
|
51
|
+
fs=CodeZauker::FileScanner.new()
|
52
|
+
fs.load("./test/fixture/kurukku.txt")
|
53
|
+
files=fs.search("di")
|
54
|
+
assert_equal 0, files.length
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_small4
|
58
|
+
fs=CodeZauker::FileScanner.new()
|
59
|
+
fs.load("./test/fixture/kurukku.txt")
|
60
|
+
# anche
|
61
|
+
files=fs.search('anch')
|
62
|
+
assert(files.include?("./test/fixture/kurukku.txt") ==true )
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_very_big_file
|
66
|
+
fs=CodeZauker::FileScanner.new()
|
67
|
+
fs.load("./test/fixture/TEST_LICENSE.txt",noReload=true)
|
68
|
+
files=fs.search("Notwithstanding")
|
69
|
+
assert files.include?("./test/fixture/TEST_LICENSE.txt")==true
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
end
|
74
|
+
|
metadata
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: code_zauker
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Giovanni Giorgi
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-01-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: yard
|
16
|
+
requirement: &72883350 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.7'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *72883350
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: hiredis
|
27
|
+
requirement: &72883030 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.3'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *72883030
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: redis
|
38
|
+
requirement: &72882680 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.2'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *72882680
|
47
|
+
description: Code Zauker is based from ideas taken by old Google Code Search and uses
|
48
|
+
Redis as a basic platform
|
49
|
+
email:
|
50
|
+
- jj@gioorgi.com
|
51
|
+
executables:
|
52
|
+
- czindexer
|
53
|
+
- czsearch
|
54
|
+
extensions: []
|
55
|
+
extra_rdoc_files: []
|
56
|
+
files:
|
57
|
+
- .gitignore
|
58
|
+
- Gemfile
|
59
|
+
- Rakefile
|
60
|
+
- bin/czindexer
|
61
|
+
- bin/czsearch
|
62
|
+
- code_zauker.gemspec
|
63
|
+
- lib/code_zauker.rb
|
64
|
+
- lib/code_zauker/version.rb
|
65
|
+
- readme.org
|
66
|
+
- test/fixture/TEST_LICENSE.txt
|
67
|
+
- test/fixture/foolish.txt
|
68
|
+
- test/fixture/kurukku.txt
|
69
|
+
- test/test_search.rb
|
70
|
+
homepage: http://gioorgi.com/tag/code-zauker/
|
71
|
+
licenses: []
|
72
|
+
post_install_message:
|
73
|
+
rdoc_options: []
|
74
|
+
require_paths:
|
75
|
+
- lib
|
76
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
78
|
+
requirements:
|
79
|
+
- - ! '>='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
requirements: []
|
89
|
+
rubyforge_project: code_zauker
|
90
|
+
rubygems_version: 1.8.10
|
91
|
+
signing_key:
|
92
|
+
specification_version: 3
|
93
|
+
summary: A search engine for programming languages
|
94
|
+
test_files: []
|
95
|
+
has_rdoc:
|