milkode 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +18 -0
- data/HISTORY.rdoc +5 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +78 -0
- data/VERSION +1 -0
- data/bin/cdv +6 -0
- data/bin/cdview +10 -0
- data/bin/milk +10 -0
- data/lib/milkode/cdstk/cdstk.rb +508 -0
- data/lib/milkode/cdstk/cdstk_yaml.rb +106 -0
- data/lib/milkode/cdstk/cli_cdstk.rb +103 -0
- data/lib/milkode/cdstk/cli_cdstksub.rb +102 -0
- data/lib/milkode/cdview/cli_cdview.rb +43 -0
- data/lib/milkode/cdweb/app.rb +136 -0
- data/lib/milkode/cdweb/cli_cdweb.rb +111 -0
- data/lib/milkode/cdweb/config.ru +3 -0
- data/lib/milkode/cdweb/lib/coderay_wrapper.rb +94 -0
- data/lib/milkode/cdweb/lib/command.rb +67 -0
- data/lib/milkode/cdweb/lib/database.rb +260 -0
- data/lib/milkode/cdweb/lib/grep.rb +68 -0
- data/lib/milkode/cdweb/lib/mkurl.rb +56 -0
- data/lib/milkode/cdweb/lib/query.rb +81 -0
- data/lib/milkode/cdweb/lib/search_contents.rb +117 -0
- data/lib/milkode/cdweb/lib/search_files.rb +88 -0
- data/lib/milkode/cdweb/public/css/coderay.css +131 -0
- data/lib/milkode/cdweb/public/css/gren.css +75 -0
- data/lib/milkode/cdweb/public/images/directory.png +0 -0
- data/lib/milkode/cdweb/public/images/file.png +0 -0
- data/lib/milkode/cdweb/public/images/gren-icon-mini.png +0 -0
- data/lib/milkode/cdweb/public/images/gren-icon.png +0 -0
- data/lib/milkode/cdweb/views/filelist.haml +14 -0
- data/lib/milkode/cdweb/views/help.haml +16 -0
- data/lib/milkode/cdweb/views/index.haml +17 -0
- data/lib/milkode/cdweb/views/layout.haml +33 -0
- data/lib/milkode/cdweb/views/search.haml +12 -0
- data/lib/milkode/cdweb/views/view.haml +16 -0
- data/lib/milkode/common/dbdir.rb +39 -0
- data/lib/milkode/common/display_util.rb +62 -0
- data/lib/milkode/common/grenfiletest.rb +19 -0
- data/lib/milkode/common/grensnip.rb +37 -0
- data/lib/milkode/common/platform.rb +17 -0
- data/lib/milkode/common/string_snip.rb +61 -0
- data/lib/milkode/common/util.rb +144 -0
- data/lib/milkode/findgrep/findgrep.rb +408 -0
- data/lib/milkode/findgrep/result.rb +43 -0
- data/milkode.gemspec +159 -0
- data/test/data/abc.zip +0 -0
- data/test/data/nodir_abc.zip +0 -0
- data/test/data/nodir_abc_xpi.xpi +0 -0
- data/test/file_assert.rb +41 -0
- data/test/file_test_utils.rb +59 -0
- data/test/rake_test_loader.rb +7 -0
- data/test/runner.rb +11 -0
- data/test/test_bin_exec.rb +30 -0
- data/test/test_cdstk.rb +90 -0
- data/test/test_cdstk_yaml.rb +157 -0
- data/test/test_coderay_wrapper.rb +22 -0
- data/test/test_coderay_wrapper_data.rb +91 -0
- data/test/test_database.rb +78 -0
- data/test/test_dbdir.rb +60 -0
- data/test/test_gren_util.rb +34 -0
- data/test/test_helper.rb +2 -0
- data/test/test_mkurl.rb +30 -0
- data/test/test_query.rb +54 -0
- data/test/test_string_snip.rb +31 -0
- data/test/test_util.rb +40 -0
- metadata +300 -0
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# @file
|
4
|
+
# @brief
|
5
|
+
# @author ongaeshi
|
6
|
+
# @date 2011/07/16
|
7
|
+
|
8
|
+
require 'test_helper'
|
9
|
+
require 'file_assert'
|
10
|
+
require 'test_coderay_wrapper_data'
|
11
|
+
require 'milkode/cdweb/lib/coderay_wrapper'
|
12
|
+
|
13
|
+
module Milkode
|
14
|
+
class TestCodeRayWrapper < Test::Unit::TestCase
|
15
|
+
def test_basic
|
16
|
+
assert_lines JS_SHORT_HTML, CodeRayWrapper.new(JS_SHORT_CODE, "console-dir.js").to_html
|
17
|
+
assert_lines JS_HTML , CodeRayWrapper.new(JS_CODE, "console-dir.js").to_html
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# @file
|
4
|
+
# @brief
|
5
|
+
# @author ongaeshi
|
6
|
+
# @date 2011/07/16
|
7
|
+
|
8
|
+
module Milkode
|
9
|
+
JS_SHORT_CODE = <<EOF
|
10
|
+
console.dir_s = function (object, msg) {
|
11
|
+
var disp_properties = function (properties, indent, out) {
|
12
|
+
EOF
|
13
|
+
|
14
|
+
JS_SHORT_HTML = <<EOF
|
15
|
+
<table class="CodeRay"><tr>
|
16
|
+
<td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>
|
17
|
+
</tt>2<tt>
|
18
|
+
</tt></pre></td>
|
19
|
+
<td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }"><span id="1">console.<span class="fu">dir_s</span> = <span class="kw">function</span> (object, msg) {</span><tt>
|
20
|
+
</tt><span id="2"> <span class="kw">var</span> <span class="fu">disp_properties</span> = <span class="kw">function</span> (properties, indent, out) {</span><tt>
|
21
|
+
</tt></pre></td>
|
22
|
+
</tr></table>
|
23
|
+
EOF
|
24
|
+
|
25
|
+
JS_CODE = <<EOF
|
26
|
+
console.dir_s = function (object, msg) {
|
27
|
+
var disp_properties = function (properties, indent, out) {
|
28
|
+
for (var i = 0; i < properties.length; ++i) {
|
29
|
+
var name = properties[i][0], value = properties[i][1];
|
30
|
+
|
31
|
+
if (typeof value == "string")
|
32
|
+
value = '"' + value + '"';
|
33
|
+
|
34
|
+
out.push(indent + name + ": " + value);
|
35
|
+
}
|
36
|
+
};
|
37
|
+
|
38
|
+
var disp_funcs = function (funcs, indent, out) {
|
39
|
+
for (var i = 0; i < funcs.length; ++i) {
|
40
|
+
var name = funcs[i][0], value = funcs[i][1];
|
41
|
+
out.push(indent + name + "()");
|
42
|
+
}
|
43
|
+
};
|
44
|
+
EOF
|
45
|
+
|
46
|
+
JS_HTML = <<EOF
|
47
|
+
<table class="CodeRay"><tr>
|
48
|
+
<td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>
|
49
|
+
</tt>2<tt>
|
50
|
+
</tt>3<tt>
|
51
|
+
</tt>4<tt>
|
52
|
+
</tt>5<tt>
|
53
|
+
</tt>6<tt>
|
54
|
+
</tt>7<tt>
|
55
|
+
</tt>8<tt>
|
56
|
+
</tt>9<tt>
|
57
|
+
</tt>10<tt>
|
58
|
+
</tt>11<tt>
|
59
|
+
</tt>12<tt>
|
60
|
+
</tt>13<tt>
|
61
|
+
</tt>14<tt>
|
62
|
+
</tt>15<tt>
|
63
|
+
</tt>16<tt>
|
64
|
+
</tt>17<tt>
|
65
|
+
</tt>18<tt>
|
66
|
+
</tt></pre></td>
|
67
|
+
<td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }"><span id="1">console.<span class="fu">dir_s</span> = <span class="kw">function</span> (object, msg) {</span><tt>
|
68
|
+
</tt><span id="2"> <span class="kw">var</span> <span class="fu">disp_properties</span> = <span class="kw">function</span> (properties, indent, out) {</span><tt>
|
69
|
+
</tt><span id="3"> <span class="kw">for</span> (<span class="kw">var</span> i = <span class="i">0</span>; i < properties.length; ++i) {</span><tt>
|
70
|
+
</tt><span id="4"> <span class="kw">var</span> name = properties[i][<span class="i">0</span>], value = properties[i][<span class="i">1</span>];</span><tt>
|
71
|
+
</tt><span id="5"></span><tt>
|
72
|
+
</tt><span id="6"> <span class="kw">if</span> (<span class="kw">typeof</span> value == <span class="s"><span class="dl">"</span><span class="k">string</span><span class="dl">"</span></span>)</span><tt>
|
73
|
+
</tt><span id="7"> value = <span class="s"><span class="dl">'</span><span class="k">"</span><span class="dl">'</span></span> + value + <span class="s"><span class="dl">'</span><span class="k">"</span><span class="dl">'</span></span>;</span><tt>
|
74
|
+
</tt><span id="8"></span><tt>
|
75
|
+
</tt><span id="9"> out.push(indent + name + <span class="s"><span class="dl">"</span><span class="k">: </span><span class="dl">"</span></span> + value);</span><tt>
|
76
|
+
</tt><span id="10"> }</span><tt>
|
77
|
+
</tt><span id="11"> };</span><tt>
|
78
|
+
</tt><span id="12"> </span><tt>
|
79
|
+
</tt><span id="13"> <span class="kw">var</span> <span class="fu">disp_funcs</span> = <span class="kw">function</span> (funcs, indent, out) {</span><tt>
|
80
|
+
</tt><span id="14"> <span class="kw">for</span> (<span class="kw">var</span> i = <span class="i">0</span>; i < funcs.length; ++i) {</span><tt>
|
81
|
+
</tt><span id="15"> <span class="kw">var</span> name = funcs[i][<span class="i">0</span>], value = funcs[i][<span class="i">1</span>];</span><tt>
|
82
|
+
</tt><span id="16"> out.push(indent + name + <span class="s"><span class="dl">"</span><span class="k">()</span><span class="dl">"</span></span>);</span><tt>
|
83
|
+
</tt><span id="17"> }</span><tt>
|
84
|
+
</tt><span id="18"> };</span><tt>
|
85
|
+
</tt></pre></td>
|
86
|
+
</tr></table>
|
87
|
+
EOF
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# @file
|
4
|
+
# @brief
|
5
|
+
# @author ongaeshi
|
6
|
+
# @date 2011/02/20
|
7
|
+
|
8
|
+
require 'rubygems'
|
9
|
+
require 'groonga'
|
10
|
+
require 'test_helper'
|
11
|
+
require 'file_test_utils'
|
12
|
+
require 'stringio'
|
13
|
+
require 'milkode/cdstk/cdstk'
|
14
|
+
require 'milkode/cdweb/lib/database'
|
15
|
+
|
16
|
+
module Milkode
|
17
|
+
class TestDatabase < Test::Unit::TestCase
|
18
|
+
include FileTestUtils
|
19
|
+
|
20
|
+
def setup_db
|
21
|
+
# データベース作成
|
22
|
+
io = StringIO.new
|
23
|
+
@obj = Cdstk.new(io)
|
24
|
+
@obj.init
|
25
|
+
@obj.add(['../../test'])
|
26
|
+
@obj.add(['../../lib'])
|
27
|
+
|
28
|
+
FileUtils.touch('notfound.file')
|
29
|
+
@obj.add(['notfound.file'])
|
30
|
+
FileUtils.rm('notfound.file')
|
31
|
+
|
32
|
+
# puts io.string
|
33
|
+
|
34
|
+
# データベースのセットアップ
|
35
|
+
Database.setup('.')
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_database
|
39
|
+
setup_db
|
40
|
+
t_open
|
41
|
+
t_fileList
|
42
|
+
t_cleanup # 何故か 'rake test' で実行すると上手く動かないので、一旦テストから外す
|
43
|
+
t_remove
|
44
|
+
end
|
45
|
+
|
46
|
+
def t_open
|
47
|
+
Database.instance
|
48
|
+
end
|
49
|
+
|
50
|
+
def t_fileList
|
51
|
+
db = Database.instance
|
52
|
+
assert_equal [['test', false], ['lib', false], ["notfound.file", true]], db.fileList('')
|
53
|
+
assert db.fileList('test').include? ['test/test_database.rb', true]
|
54
|
+
assert_equal ['lib/milkode', false], db.fileList('lib')[0]
|
55
|
+
assert_equal ['lib/milkode/cdstk/cdstk.rb', true], db.fileList('lib/milkode/cdstk')[0]
|
56
|
+
assert_equal nil, db.fileList('lib/milkode/cdstk/cdstk.rb')[0]
|
57
|
+
end
|
58
|
+
|
59
|
+
def t_cleanup
|
60
|
+
db = Database.instance
|
61
|
+
db.cleanup
|
62
|
+
end
|
63
|
+
|
64
|
+
def t_remove
|
65
|
+
db = Database.instance
|
66
|
+
db.remove('test')
|
67
|
+
db.remove('lib')
|
68
|
+
assert_equal 0, db.totalRecords
|
69
|
+
end
|
70
|
+
|
71
|
+
def teardown
|
72
|
+
teardown_custom(true)
|
73
|
+
# teardown_custom(false)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
|
data/test/test_dbdir.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# @file
|
4
|
+
# @brief
|
5
|
+
# @author ongaeshi
|
6
|
+
# @date 2011/03/08
|
7
|
+
|
8
|
+
require 'rubygems'
|
9
|
+
require 'test_helper'
|
10
|
+
require 'milkode/common/dbdir'
|
11
|
+
require 'file_test_utils'
|
12
|
+
|
13
|
+
class TestDbDir< Test::Unit::TestCase
|
14
|
+
include Milkode
|
15
|
+
include FileTestUtils
|
16
|
+
|
17
|
+
def test_default_dir
|
18
|
+
ENV['MILKODE_DEFAULT_DIR'] = nil
|
19
|
+
assert_equal File.expand_path('~/.milkode'), Dbdir.default_dir
|
20
|
+
|
21
|
+
ENV['MILKODE_DEFAULT_DIR'] = "~/DummyDir"
|
22
|
+
assert_equal File.expand_path("~/DummyDir"), Dbdir.default_dir
|
23
|
+
|
24
|
+
ENV['MILKODE_DEFAULT_DIR'] = nil
|
25
|
+
ENV['CODESTOCK_DEFAULT_DIRR'] = "~/DummyDir"
|
26
|
+
assert_equal File.expand_path('~/.milkode'), Dbdir.default_dir
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_is_dbdir
|
30
|
+
assert_equal false, Dbdir.dbdir?
|
31
|
+
|
32
|
+
FileUtils.touch "milkode.yaml"
|
33
|
+
assert_equal true, Dbdir.dbdir?
|
34
|
+
|
35
|
+
FileUtils.mkdir_p 'damadame'
|
36
|
+
FileUtils.touch "damadame/milkode.yaml"
|
37
|
+
assert_equal true, Dbdir.dbdir?('damadame')
|
38
|
+
assert_equal false, Dbdir.dbdir?('damadameyo')
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_groonga_path
|
42
|
+
assert_equal 'db/milkode.db', Dbdir.groonga_path
|
43
|
+
assert_equal '../db/milkode.db', Dbdir.groonga_path('..')
|
44
|
+
assert_equal '/Users/MrRuby/db/milkode.db', Dbdir.groonga_path('/Users/MrRuby')
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_expand_groonga_path
|
48
|
+
assert_equal File.expand_path('./db/milkode.db'), Dbdir.expand_groonga_path
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_yaml_path
|
52
|
+
assert_equal 'milkode.yaml', Dbdir.yaml_path
|
53
|
+
assert_equal '../milkode.yaml', Dbdir.yaml_path('..')
|
54
|
+
assert_equal '/Users/MrRuby/milkode.yaml', Dbdir.yaml_path('/Users/MrRuby')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'milkode/common/util'
|
3
|
+
require 'milkode/common/grensnip'
|
4
|
+
|
5
|
+
class TestGrenSnip < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_snip
|
10
|
+
str = "abcdefghijkmlnopqrstuvwxyz"
|
11
|
+
assert_equal(str, GrenSnip::snip(str, nil))
|
12
|
+
|
13
|
+
str = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|12345678901234567890123456789012345678901234567890123456"
|
14
|
+
assert_equal(str, GrenSnip::snip(str, nil))
|
15
|
+
|
16
|
+
str = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|123456789012345678901234567890123456789012345678901234561"
|
17
|
+
match_datas = []
|
18
|
+
match_datas << str.match(/123456789\|/)
|
19
|
+
assert_equal("12345678901234567890123456789012<<snip>>90123456789012345678901234567890123456789|123456789012345678901234567890123<<snip>>67890123456789012345678901234561", GrenSnip::snip(str, match_datas))
|
20
|
+
|
21
|
+
str = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|123456789012345678901234567890123456789012345678901234561"
|
22
|
+
match_datas = []
|
23
|
+
match_datas << str.match(/123456789\|/)
|
24
|
+
match_datas << str.match(/34567/)
|
25
|
+
assert_equal("12345678901234567890123456789012<<snip>>90123456789012345678901234567890123456789|123456789012345678901234567890123<<snip>>67890123456789012345678901234561", GrenSnip::snip(str, match_datas))
|
26
|
+
|
27
|
+
str = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|123456789012345678901234567890123456789012345678901234561"
|
28
|
+
match_datas = []
|
29
|
+
match_datas << str.match(/123456789\|/)
|
30
|
+
match_datas << str.match(/01234561/)
|
31
|
+
assert_equal("12345678901234567890123456789012<<snip>>90123456789012345678901234567890123456789|123456789012345678901234567890123<<snip>>8901234567890123456789012345678901234561", GrenSnip::snip(str, match_datas))
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
data/test/test_helper.rb
ADDED
data/test/test_mkurl.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# @file
|
4
|
+
# @brief
|
5
|
+
# @author ongaeshi
|
6
|
+
# @date 2010/10/21
|
7
|
+
|
8
|
+
require 'test_helper'
|
9
|
+
require 'milkode/cdweb/lib/mkurl'
|
10
|
+
|
11
|
+
module Milkode
|
12
|
+
class TestMkurl < Test::Unit::TestCase
|
13
|
+
def test_basic
|
14
|
+
p1 = {:query => 'test', :shead => 'package', :page => '2'}
|
15
|
+
p2 = {:query => 'test', :page => '2'}
|
16
|
+
p3 = {:page => '2'}
|
17
|
+
|
18
|
+
assert_equal '/home/foo/bar.hpp?query=test&shead=package', Mkurl.new('/home/foo/bar.hpp', p1).inherit_query_shead
|
19
|
+
assert_equal '.?query=test&shead=package', Mkurl.new('.', p1).inherit_query_shead
|
20
|
+
assert_equal '/home/foo/bar.hpp?query=test', Mkurl.new('/home/foo/bar.hpp', p2).inherit_query_shead
|
21
|
+
assert_equal '/home/foo/bar.hpp', Mkurl.new('/home/foo/bar.hpp', p3).inherit_query_shead
|
22
|
+
|
23
|
+
assert_equal '/home/foo/bar.hpp?shead=package', Mkurl.new('/home/foo/bar.hpp', p1).inherit_shead
|
24
|
+
assert_equal '.?shead=package', Mkurl.new('.', p1).inherit_shead
|
25
|
+
assert_equal '/home/foo/bar.hpp', Mkurl.new('/home/foo/bar.hpp', p2).inherit_shead
|
26
|
+
assert_equal '/home/foo/bar.hpp', Mkurl.new('/home/foo/bar.hpp', p3).inherit_shead
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/test/test_query.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# @file
|
4
|
+
# @brief
|
5
|
+
# @author ongaeshi
|
6
|
+
# @date 2010/10/21
|
7
|
+
|
8
|
+
require 'test_helper'
|
9
|
+
require 'milkode/cdweb/lib/query'
|
10
|
+
|
11
|
+
module Milkode
|
12
|
+
class TestQuery < Test::Unit::TestCase
|
13
|
+
def test_query
|
14
|
+
q = create_query("test fire beam")
|
15
|
+
assert_equal q.keywords, ['test', 'fire', 'beam']
|
16
|
+
assert_equal q.packages, []
|
17
|
+
assert_equal q.fpaths, []
|
18
|
+
assert_equal q.suffixs, []
|
19
|
+
assert_equal q.escape_html, 'test fire beam'
|
20
|
+
|
21
|
+
q = create_query("test fire beam f:testfile1")
|
22
|
+
assert_equal q.keywords, ['test', 'fire', 'beam']
|
23
|
+
assert_equal q.packages, []
|
24
|
+
assert_equal q.fpaths, ['testfile1']
|
25
|
+
assert_equal q.suffixs, []
|
26
|
+
|
27
|
+
q = create_query("test fire beam f:testfile1 filepath:dir32")
|
28
|
+
assert_equal q.keywords, ['test', 'fire', 'beam']
|
29
|
+
assert_equal q.packages, []
|
30
|
+
assert_equal q.fpaths, ['dir32', 'testfile1']
|
31
|
+
assert_equal q.suffixs, []
|
32
|
+
|
33
|
+
q = create_query("package:gren test fire beam f:testfile1 filepath:dir32 s:rb p:test suffix:pl")
|
34
|
+
assert_equal q.keywords, ['test', 'fire', 'beam']
|
35
|
+
assert_equal q.packages, ['gren', 'test']
|
36
|
+
assert_equal q.fpaths, ['dir32', 'testfile1']
|
37
|
+
assert_equal q.suffixs, ['pl', 'rb']
|
38
|
+
|
39
|
+
q = create_query("&p")
|
40
|
+
assert_equal "&p", q.query_string
|
41
|
+
assert_equal q.escape_html, '&p'
|
42
|
+
|
43
|
+
q = create_query("int &p")
|
44
|
+
assert_equal q.escape_html, 'int &p'
|
45
|
+
|
46
|
+
q = create_query('"def update"')
|
47
|
+
assert_equal q.keywords, ['def update']
|
48
|
+
end
|
49
|
+
|
50
|
+
def create_query(query)
|
51
|
+
Query.new(query)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'milkode/common/util.rb'
|
3
|
+
require 'milkode/common/grensnip.rb'
|
4
|
+
|
5
|
+
class TestStringSnip < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_ranges_compound
|
10
|
+
ranges = [0..7, 8..232, 121..150, 248..255]
|
11
|
+
assert_equal(StringSnip.ranges_compound(ranges), [0..232, 248..255])
|
12
|
+
|
13
|
+
ranges = [10..20, 22..30, 33..40]
|
14
|
+
assert_equal(StringSnip.ranges_compound(ranges), [10..20, 22..30, 33..40])
|
15
|
+
|
16
|
+
ranges = [10..30, 20..30, 30..40]
|
17
|
+
assert_equal(StringSnip.ranges_compound(ranges), [10..40])
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_string_snip
|
21
|
+
str = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789|12345678901234567890123456789012345678901234567890123456"
|
22
|
+
|
23
|
+
snipper = StringSnip.new
|
24
|
+
snip_str = snipper.snip(str, [0..7, -8..-1])
|
25
|
+
assert_equal(snip_str, str)
|
26
|
+
|
27
|
+
snipper = StringSnip.new(64)
|
28
|
+
snip_str = snipper.snip(str, [-8..-1, 10..20, 0..7])
|
29
|
+
assert_equal(snip_str, "12345678<<snip>>12345678901<<snip>>90123456")
|
30
|
+
end
|
31
|
+
end
|
data/test/test_util.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# @file
|
4
|
+
# @brief
|
5
|
+
# @author ongaeshi
|
6
|
+
# @date 2011/02/20
|
7
|
+
|
8
|
+
require 'milkode/common/util'
|
9
|
+
require 'test/unit'
|
10
|
+
require 'file_test_utils'
|
11
|
+
|
12
|
+
class TestUtil < Test::Unit::TestCase
|
13
|
+
include FileTestUtils
|
14
|
+
|
15
|
+
def test_zip_extract
|
16
|
+
Milkode::Util::zip_extract('../data/abc.zip', '.')
|
17
|
+
assert File.exist?('abc')
|
18
|
+
assert File.exist?('abc/a.txt')
|
19
|
+
assert File.exist?('abc/b.txt')
|
20
|
+
assert File.exist?('abc/c.txt')
|
21
|
+
|
22
|
+
Milkode::Util::zip_extract('../data/nodir_abc.zip', '.')
|
23
|
+
assert File.exist?('nodir_abc')
|
24
|
+
assert File.exist?('nodir_abc/a.txt')
|
25
|
+
assert File.exist?('nodir_abc/b.txt')
|
26
|
+
assert File.exist?('nodir_abc/c.txt')
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_root_entrylist
|
30
|
+
assert_equal ['abc/'], Milkode::Util::root_entrylist('../data/abc.zip')
|
31
|
+
assert_equal ['a.txt', 'b.txt', 'c.txt'], Milkode::Util::root_entrylist('../data/nodir_abc.zip')
|
32
|
+
end
|
33
|
+
|
34
|
+
def teardown
|
35
|
+
teardown_custom(true)
|
36
|
+
# teardown_custom(false)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
|