builtinextension 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGES +4 -1
- data/Gemfile +3 -4
- data/VERSION +1 -1
- data/builtinextension.gemspec +17 -14
- data/lib/float/equalindelta.rb +13 -0
- data/test/test_array_include_eql.rb +24 -24
- data/test/test_array_select_indices.rb +14 -14
- data/test/test_float_equalindelta.rb +19 -0
- data/test/test_string_color.rb +59 -59
- data/test/test_string_escape_zsh.rb +74 -74
- data/test/test_string_mismatch.rb +17 -17
- data/test/test_string_split_parens.rb +77 -77
- data/test/test_string_width.rb +7 -7
- metadata +31 -44
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 049963607a60f703b442db8d232fedeb0f5a6490
|
4
|
+
data.tar.gz: af47434679dcc2b6e30d695a1980457ab338138a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f6f4ab5dc00e0c742f630c11113cfe7a7d895a0699ad589c273b8ce8ea8a945335c8e2f2f7eb32b4277eebebd329d6e6a008cfc58160b021f42efa387838eff9
|
7
|
+
data.tar.gz: 61095aa5718215a3fa57725858c4f7939c7d6400ea89588ab1a2175f4db4a255b6c7d558074c06acfd316df0f94207498c9d2df2f51e6948511b6fab1592f97b
|
data/CHANGES
CHANGED
data/Gemfile
CHANGED
@@ -6,10 +6,9 @@ source "http://rubygems.org"
|
|
6
6
|
# Add dependencies to develop your gem here.
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
group :development do
|
9
|
-
|
10
|
-
gem "
|
11
|
-
gem "
|
12
|
-
gem "bundler", "~> 1.7.2"
|
9
|
+
gem "test-unit", "~> 3.1.2"
|
10
|
+
gem "rdoc", "~> 4.2.0"
|
11
|
+
gem "bundler", "~> 1.10.5"
|
13
12
|
gem "jeweler", "~> 2.0.1"
|
14
13
|
gem "simplecov", "~> 0.9.0"
|
15
14
|
#gem "psych", ">= 0"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/builtinextension.gemspec
CHANGED
@@ -2,14 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: builtinextension 0.1.3 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "builtinextension"
|
8
|
-
s.version = "0.1.
|
9
|
+
s.version = "0.1.3"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
11
13
|
s.authors = ["ippei94da"]
|
12
|
-
s.date = "
|
14
|
+
s.date = "2015-07-17"
|
13
15
|
s.description = "Personally frequently used methods for builtin classes,\n e.g., String, Array, etc.\n These methods are not implemented in Ruby and\n are doubted to offer to be implemented into Ruby core system.\n A main target is my personal programming.\n "
|
14
16
|
s.email = "ippei94da@gmail.com"
|
15
17
|
s.extra_rdoc_files = [
|
@@ -28,6 +30,7 @@ Gem::Specification.new do |s|
|
|
28
30
|
"builtinextension.gemspec",
|
29
31
|
"lib/array/includeeql.rb",
|
30
32
|
"lib/array/selectindices.rb",
|
33
|
+
"lib/float/equalindelta.rb",
|
31
34
|
"lib/string/color.rb",
|
32
35
|
"lib/string/escapezsh.rb",
|
33
36
|
"lib/string/mismatch.rb",
|
@@ -37,6 +40,7 @@ Gem::Specification.new do |s|
|
|
37
40
|
"test/print_color",
|
38
41
|
"test/test_array_include_eql.rb",
|
39
42
|
"test/test_array_select_indices.rb",
|
43
|
+
"test/test_float_equalindelta.rb",
|
40
44
|
"test/test_string_color.rb",
|
41
45
|
"test/test_string_escape_zsh.rb",
|
42
46
|
"test/test_string_mismatch.rb",
|
@@ -45,30 +49,29 @@ Gem::Specification.new do |s|
|
|
45
49
|
]
|
46
50
|
s.homepage = "http://github.com/ippei94da/builtinextension"
|
47
51
|
s.licenses = ["MIT"]
|
48
|
-
s.
|
49
|
-
s.rubygems_version = "1.8.23"
|
52
|
+
s.rubygems_version = "2.2.2"
|
50
53
|
s.summary = "Method as extension for builtin classes"
|
51
54
|
|
52
55
|
if s.respond_to? :specification_version then
|
53
|
-
s.specification_version =
|
56
|
+
s.specification_version = 4
|
54
57
|
|
55
58
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
56
|
-
s.add_development_dependency(%q<test-unit>, ["~> 3.
|
57
|
-
s.add_development_dependency(%q<rdoc>, ["~> 4.
|
58
|
-
s.add_development_dependency(%q<bundler>, ["~> 1.
|
59
|
+
s.add_development_dependency(%q<test-unit>, ["~> 3.1.2"])
|
60
|
+
s.add_development_dependency(%q<rdoc>, ["~> 4.2.0"])
|
61
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.10.5"])
|
59
62
|
s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
|
60
63
|
s.add_development_dependency(%q<simplecov>, ["~> 0.9.0"])
|
61
64
|
else
|
62
|
-
s.add_dependency(%q<test-unit>, ["~> 3.
|
63
|
-
s.add_dependency(%q<rdoc>, ["~> 4.
|
64
|
-
s.add_dependency(%q<bundler>, ["~> 1.
|
65
|
+
s.add_dependency(%q<test-unit>, ["~> 3.1.2"])
|
66
|
+
s.add_dependency(%q<rdoc>, ["~> 4.2.0"])
|
67
|
+
s.add_dependency(%q<bundler>, ["~> 1.10.5"])
|
65
68
|
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
66
69
|
s.add_dependency(%q<simplecov>, ["~> 0.9.0"])
|
67
70
|
end
|
68
71
|
else
|
69
|
-
s.add_dependency(%q<test-unit>, ["~> 3.
|
70
|
-
s.add_dependency(%q<rdoc>, ["~> 4.
|
71
|
-
s.add_dependency(%q<bundler>, ["~> 1.
|
72
|
+
s.add_dependency(%q<test-unit>, ["~> 3.1.2"])
|
73
|
+
s.add_dependency(%q<rdoc>, ["~> 4.2.0"])
|
74
|
+
s.add_dependency(%q<bundler>, ["~> 1.10.5"])
|
72
75
|
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
73
76
|
s.add_dependency(%q<simplecov>, ["~> 0.9.0"])
|
74
77
|
end
|
@@ -7,37 +7,37 @@ require "test/unit"
|
|
7
7
|
require "array/includeeql"
|
8
8
|
|
9
9
|
class Klass
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
def initialize(val)
|
11
|
+
@val = (val)
|
12
|
+
end
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
def eql?(other)
|
15
|
+
return @val.floor == other.floor
|
16
|
+
end
|
17
17
|
end
|
18
18
|
|
19
19
|
|
20
20
|
#describe Array, "including items with eql? method" do
|
21
21
|
#class TC_Array < Test::Unit::TestCase
|
22
22
|
class TC_Array_include_eql < Test::Unit::TestCase
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
23
|
+
def setup
|
24
|
+
@a00 = [
|
25
|
+
Klass.new(0.0),
|
26
|
+
Klass.new(1.0),
|
27
|
+
Klass.new(2.0),
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_include_eql?
|
32
|
+
#it "should be true" do
|
33
|
+
assert_equal(true, @a00.include_eql?( 0.1))
|
34
|
+
assert_equal(true, @a00.include_eql?( 1.1))
|
35
|
+
assert_equal(true, @a00.include_eql?( 2.1))
|
36
|
+
|
37
|
+
#it "should be false" do
|
38
|
+
assert_equal(false, @a00.include_eql?( 3.1))
|
39
|
+
assert_equal(false, @a00.include_eql?(-0.9))
|
40
|
+
end
|
41
41
|
|
42
42
|
end
|
43
43
|
|
@@ -10,20 +10,20 @@ require "array/selectindices.rb"
|
|
10
10
|
#describe Array, "including items" do
|
11
11
|
|
12
12
|
class TC_Array_select_indices < Test::Unit::TestCase
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
13
|
+
#it "should do for empty array." do
|
14
|
+
def test_select_indices
|
15
|
+
assert_equal([], [].select_indices{ false })
|
16
|
+
assert_equal([], [].select_indices{ true } )
|
17
|
+
|
18
|
+
#it "should do for array of String." do
|
19
|
+
assert_equal([] , %w[ a b c ].select_indices{ false } )
|
20
|
+
assert_equal([0,1,2] , %w[ a b c ].select_indices{ true } )
|
21
|
+
|
22
|
+
#it "should do for empty array of Integer." do
|
23
|
+
assert_equal([] , [0,1,2,3].select_indices{ false } )
|
24
|
+
assert_equal([0,1,2,3] , [0,1,2,3].select_indices{ true } )
|
25
|
+
assert_equal([0,1] , [0,1,2,3].select_indices{ |i| i < 2 } )
|
26
|
+
end
|
27
27
|
|
28
28
|
end
|
29
29
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
require "helper"
|
5
|
+
require "float/equalindelta.rb"
|
6
|
+
#require "test/unit"
|
7
|
+
#require "pkg/klass.rb"
|
8
|
+
|
9
|
+
class TC_Float < Test::Unit::TestCase
|
10
|
+
def test_equal_in_delta?
|
11
|
+
assert_equal(true , (1.0).equal_in_delta?(1.0, 0.1))
|
12
|
+
assert_equal(false, (1.0).equal_in_delta?(1.2, 0.1))
|
13
|
+
assert_equal(true , (1.0).equal_in_delta?(1.2, 0.3))
|
14
|
+
assert_equal(false, (1.2).equal_in_delta?(1.0, 0.1))
|
15
|
+
assert_equal(true , (1.2).equal_in_delta?(1.0, 0.3))
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
data/test/test_string_color.rb
CHANGED
@@ -7,65 +7,65 @@ require "string/color.rb"
|
|
7
7
|
|
8
8
|
#describe String, "to be added color information" do
|
9
9
|
class TC_String_color < Test::Unit::TestCase
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
def setup
|
11
|
+
@s00 = ""
|
12
|
+
@s01 = "abc"
|
13
|
+
end
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
15
|
+
#it "should be sandwitched escape chars of color" do
|
16
|
+
def test_color
|
17
|
+
assert_equal("\e[30;49m\e[39;49m" , @s00.color( :black ))
|
18
|
+
assert_equal("\e[31;49m\e[39;49m" , @s00.color( :red ))
|
19
|
+
assert_equal("\e[32;49m\e[39;49m" , @s00.color( :green ))
|
20
|
+
assert_equal("\e[33;49m\e[39;49m" , @s00.color( :yellow ))
|
21
|
+
assert_equal("\e[34;49m\e[39;49m" , @s00.color( :blue ))
|
22
|
+
assert_equal("\e[35;49m\e[39;49m" , @s00.color( :magenta ))
|
23
|
+
assert_equal("\e[36;49m\e[39;49m" , @s00.color( :cyan ))
|
24
|
+
assert_equal("\e[37;49m\e[39;49m" , @s00.color( :white ))
|
25
|
+
assert_equal("\e[39;49m\e[39;49m" , @s00.color( :default ))
|
26
|
+
assert_equal("\e[39;40m\e[39;49m" , @s00.color( :default, :black ))
|
27
|
+
assert_equal("\e[39;41m\e[39;49m" , @s00.color( :default, :red ))
|
28
|
+
assert_equal("\e[39;42m\e[39;49m" , @s00.color( :default, :green ))
|
29
|
+
assert_equal("\e[39;43m\e[39;49m" , @s00.color( :default, :yellow ))
|
30
|
+
assert_equal("\e[39;44m\e[39;49m" , @s00.color( :default, :blue ))
|
31
|
+
assert_equal("\e[39;45m\e[39;49m" , @s00.color( :default, :magenta))
|
32
|
+
assert_equal("\e[39;46m\e[39;49m" , @s00.color( :default, :cyan ))
|
33
|
+
assert_equal("\e[39;47m\e[39;49m" , @s00.color( :default, :white ))
|
34
|
+
assert_equal("\e[39;49m\e[39;49m" , @s00.color( :default, :default))
|
35
|
+
assert_equal("\e[37;40m\e[39;49m" , @s00.color( :white , :black ))
|
36
|
+
assert_equal("\e[36;41m\e[39;49m" , @s00.color( :cyan , :red ))
|
37
|
+
assert_equal("\e[35;42m\e[39;49m" , @s00.color( :magenta, :green ))
|
38
|
+
assert_equal("\e[34;43m\e[39;49m" , @s00.color( :blue , :yellow ))
|
39
|
+
assert_equal("\e[33;44m\e[39;49m" , @s00.color( :yellow , :blue ))
|
40
|
+
assert_equal("\e[32;45m\e[39;49m" , @s00.color( :green , :magenta))
|
41
|
+
assert_equal("\e[31;46m\e[39;49m" , @s00.color( :red , :cyan ))
|
42
|
+
assert_equal("\e[30;47m\e[39;49m" , @s00.color( :black , :white ))
|
43
|
+
assert_equal("\e[30;49mabc\e[39;49m", @s01.color( :black ))
|
44
|
+
assert_equal("\e[31;49mabc\e[39;49m", @s01.color( :red ))
|
45
|
+
assert_equal("\e[32;49mabc\e[39;49m", @s01.color( :green ))
|
46
|
+
assert_equal("\e[33;49mabc\e[39;49m", @s01.color( :yellow ))
|
47
|
+
assert_equal("\e[34;49mabc\e[39;49m", @s01.color( :blue ))
|
48
|
+
assert_equal("\e[35;49mabc\e[39;49m", @s01.color( :magenta ))
|
49
|
+
assert_equal("\e[36;49mabc\e[39;49m", @s01.color( :cyan ))
|
50
|
+
assert_equal("\e[37;49mabc\e[39;49m", @s01.color( :white ))
|
51
|
+
assert_equal("\e[39;49mabc\e[39;49m", @s01.color( :default ))
|
52
|
+
assert_equal("\e[39;40mabc\e[39;49m", @s01.color( :default, :black ))
|
53
|
+
assert_equal("\e[39;41mabc\e[39;49m", @s01.color( :default, :red ))
|
54
|
+
assert_equal("\e[39;42mabc\e[39;49m", @s01.color( :default, :green ))
|
55
|
+
assert_equal("\e[39;43mabc\e[39;49m", @s01.color( :default, :yellow ))
|
56
|
+
assert_equal("\e[39;44mabc\e[39;49m", @s01.color( :default, :blue ))
|
57
|
+
assert_equal("\e[39;45mabc\e[39;49m", @s01.color( :default, :magenta))
|
58
|
+
assert_equal("\e[39;46mabc\e[39;49m", @s01.color( :default, :cyan ))
|
59
|
+
assert_equal("\e[39;47mabc\e[39;49m", @s01.color( :default, :white ))
|
60
|
+
assert_equal("\e[39;49mabc\e[39;49m", @s01.color( :default, :default))
|
61
|
+
assert_equal("\e[37;40mabc\e[39;49m", @s01.color( :white , :black ))
|
62
|
+
assert_equal("\e[36;41mabc\e[39;49m", @s01.color( :cyan , :red ))
|
63
|
+
assert_equal("\e[35;42mabc\e[39;49m", @s01.color( :magenta, :green ))
|
64
|
+
assert_equal("\e[34;43mabc\e[39;49m", @s01.color( :blue , :yellow ))
|
65
|
+
assert_equal("\e[33;44mabc\e[39;49m", @s01.color( :yellow , :blue ))
|
66
|
+
assert_equal("\e[32;45mabc\e[39;49m", @s01.color( :green , :magenta))
|
67
|
+
assert_equal("\e[31;46mabc\e[39;49m", @s01.color( :red , :cyan ))
|
68
|
+
assert_equal("\e[30;47mabc\e[39;49m", @s01.color( :black , :white ))
|
69
|
+
end
|
70
70
|
|
71
71
|
end
|
@@ -7,81 +7,81 @@ require "string/escapezsh.rb"
|
|
7
7
|
|
8
8
|
#describe String, "with chars to be escaped" do
|
9
9
|
class TC_String_escapezsh < Test::Unit::TestCase
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
10
|
+
def setup
|
11
|
+
@s00 = "0123456789abcdefghijklmnopqrstuvwxyz"
|
12
|
+
@s10 = "\\abc\\"
|
13
|
+
@s11 = '/abc/'
|
14
|
+
@s12 = ' abc '
|
15
|
+
@s13 = '!abc!'
|
16
|
+
@s14 = '"abc"'
|
17
|
+
@s15 = '#abc#'
|
18
|
+
@s16 = '$abc$'
|
19
|
+
@s17 = '%abc%'
|
20
|
+
@s18 = ')abc)'
|
21
|
+
@s19 = '(abc('
|
22
|
+
@s20 = '*abc*'
|
23
|
+
@s21 = ',abc,'
|
24
|
+
@s22 = '-abc-'
|
25
|
+
@s23 = '.abc.'
|
26
|
+
@s24 = ':abc:'
|
27
|
+
@s25 = ';abc;'
|
28
|
+
@s26 = '<abc<'
|
29
|
+
@s27 = '=abc='
|
30
|
+
@s28 = '>abc>'
|
31
|
+
@s29 = '?abc?'
|
32
|
+
@s30 = '@abc@'
|
33
|
+
@s31 = '[abc['
|
34
|
+
@s32 = ']abc]'
|
35
|
+
@s33 = '^abc^'
|
36
|
+
@s34 = '_abc_'
|
37
|
+
@s35 = '{abc{'
|
38
|
+
@s36 = '|abc|'
|
39
|
+
@s37 = '}abc}'
|
40
|
+
@s38 = '~abc~'
|
41
|
+
@s39 = '`abc`'
|
42
|
+
@s40 = '&abc&'
|
43
|
+
@s41 = '+abc+'
|
44
|
+
@s42 = "'abc'"
|
45
|
+
end
|
46
46
|
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
def test_escape_zsh
|
48
|
+
#it "should not escape" do
|
49
|
+
assert_equal("0123456789abcdefghijklmnopqrstuvwxyz", @s00.escape_zsh)
|
50
50
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
51
|
+
#it "should escape" do
|
52
|
+
assert_equal("\\\\abc\\\\", @s10.escape_zsh)
|
53
|
+
assert_equal("/abc/" , @s11.escape_zsh)
|
54
|
+
assert_equal("\\ abc\\ " , @s12.escape_zsh)
|
55
|
+
assert_equal("\\!abc\\!" , @s13.escape_zsh)
|
56
|
+
assert_equal('\\"abc\\"' , @s14.escape_zsh)
|
57
|
+
assert_equal("\\#abc\\#" , @s15.escape_zsh)
|
58
|
+
assert_equal("\\$abc\\$" , @s16.escape_zsh)
|
59
|
+
assert_equal("\\%abc\\%" , @s17.escape_zsh)
|
60
|
+
assert_equal("\\)abc\\)" , @s18.escape_zsh)
|
61
|
+
assert_equal("\\(abc\\(" , @s19.escape_zsh)
|
62
|
+
assert_equal("\\*abc\\*" , @s20.escape_zsh)
|
63
|
+
assert_equal("\\,abc\\," , @s21.escape_zsh)
|
64
|
+
assert_equal("-abc-" , @s22.escape_zsh)
|
65
|
+
assert_equal(".abc." , @s23.escape_zsh)
|
66
|
+
assert_equal("\\:abc\\:" , @s24.escape_zsh)
|
67
|
+
assert_equal("\\;abc\\;" , @s25.escape_zsh)
|
68
|
+
assert_equal("\\<abc\\<" , @s26.escape_zsh)
|
69
|
+
assert_equal("\\=abc\\=" , @s27.escape_zsh)
|
70
|
+
assert_equal("\\>abc\\>" , @s28.escape_zsh)
|
71
|
+
assert_equal("\\?abc\\?" , @s29.escape_zsh)
|
72
|
+
assert_equal("\\@abc\\@" , @s30.escape_zsh)
|
73
|
+
assert_equal("\\[abc\\[" , @s31.escape_zsh)
|
74
|
+
assert_equal("\\]abc\\]" , @s32.escape_zsh)
|
75
|
+
assert_equal("\\^abc\\^" , @s33.escape_zsh)
|
76
|
+
assert_equal("\\_abc\\_" , @s34.escape_zsh)
|
77
|
+
assert_equal("\\{abc\\{" , @s35.escape_zsh)
|
78
|
+
assert_equal("\\|abc\\|" , @s36.escape_zsh)
|
79
|
+
assert_equal("\\}abc\\}" , @s37.escape_zsh)
|
80
|
+
assert_equal("\\~abc\\~" , @s38.escape_zsh)
|
81
|
+
assert_equal("\\`abc\\`" , @s39.escape_zsh)
|
82
|
+
assert_equal("\\&abc\\&" , @s40.escape_zsh)
|
83
|
+
assert_equal("\\+abc\\+" , @s41.escape_zsh)
|
84
|
+
assert_equal("\\'abc\\'" , @s42.escape_zsh)
|
85
|
+
end
|
86
86
|
|
87
87
|
end
|
@@ -7,25 +7,25 @@ require "string/mismatch.rb"
|
|
7
7
|
|
8
8
|
#describe String, "for mismatch check" do
|
9
9
|
class TC_String_mismatch < Test::Unit::TestCase
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
def setup
|
11
|
+
@s00 = 'abcdefghij'
|
12
|
+
@s01 = 'あいうえお'
|
13
|
+
end
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
15
|
+
#it "should be indicated first mismatch char index" do
|
16
|
+
def test_mismatch
|
17
|
+
assert_equal(nil, @s00.mismatch( "abcdefghij" ) )
|
18
|
+
assert_equal( 0 , @s00.mismatch( "_bcdefghij" ) )
|
19
|
+
assert_equal( 4 , @s00.mismatch( "abcd_fghij" ) )
|
20
|
+
assert_equal(10 , @s00.mismatch( "abcdefghijk" ) )
|
21
|
+
assert_equal( 3 , @s00.mismatch( "abc" ) )
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
assert_equal(nil, @s01.mismatch( "あいうえお" ) )
|
24
|
+
assert_equal( 0 , @s01.mismatch( "_いうえお" ) )
|
25
|
+
assert_equal( 4 , @s01.mismatch( "あいうえ_" ) )
|
26
|
+
assert_equal( 5 , @s01.mismatch( "あいうえおか" ) )
|
27
|
+
assert_equal( 3 , @s01.mismatch( "あいう" ) )
|
28
|
+
end
|
29
29
|
|
30
30
|
end
|
31
31
|
|
@@ -8,83 +8,83 @@ require "string/splitparens.rb"
|
|
8
8
|
#describe String, "" do
|
9
9
|
class TC_String_splitparens < Test::Unit::TestCase
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
def setup
|
12
|
+
@s00 = "(ab)(cd(ef))gh(ij)kl(mn)"
|
13
|
+
@s01 = "((ab)(cd(ef))gh(ij)kl(mn)" # open paren excess.
|
14
|
+
@s02 = "(ab)(cd(ef)))gh(ij)kl(mn)" # close paren excess.
|
15
|
+
end
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
17
|
+
def test_split_parens
|
18
|
+
#describe "many parens" do
|
19
|
+
assert_equal(["(ab)", "(cd(ef))", "gh", "(ij)", "kl", "(mn)"],
|
20
|
+
@s00.split_parens)
|
21
|
+
assert_equal(["((ab)(cd(ef))gh(ij)kl(mn)"] ,
|
22
|
+
@s01.split_parens)
|
23
|
+
assert_equal(["(ab)", "(cd(ef))", ")gh(ij)kl(mn)"] ,
|
24
|
+
@s02.split_parens)
|
25
|
+
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
27
|
+
def test_open_close
|
28
|
+
#describe "single char" do
|
29
|
+
assert_equal( false, '(' .close_paren?)
|
30
|
+
assert_equal( true , '(' .open_paren? )
|
31
|
+
assert_equal( true , ')' .close_paren?)
|
32
|
+
assert_equal( false, ')' .open_paren? )
|
33
|
+
assert_equal( false, '<' .close_paren?)
|
34
|
+
assert_equal( true , '<' .open_paren? )
|
35
|
+
assert_equal( true , '>' .close_paren?)
|
36
|
+
assert_equal( false, '>' .open_paren? )
|
37
|
+
assert_equal( false, '[' .close_paren?)
|
38
|
+
assert_equal( true , '[' .open_paren? )
|
39
|
+
assert_equal( true , ']' .close_paren?)
|
40
|
+
assert_equal( false, ']' .open_paren? )
|
41
|
+
assert_equal( false, '{' .close_paren?)
|
42
|
+
assert_equal( true , '{' .open_paren? )
|
43
|
+
assert_equal( true , '}' .close_paren?)
|
44
|
+
assert_equal( false, '}' .open_paren? )
|
45
|
+
assert_equal( false, '('.close_paren?)
|
46
|
+
assert_equal( true , '('.open_paren? )
|
47
|
+
assert_equal( true , ')'.close_paren?)
|
48
|
+
assert_equal( false, ')'.open_paren? )
|
49
|
+
assert_equal( false, '〔'.close_paren?)
|
50
|
+
assert_equal( true , '〔'.open_paren? )
|
51
|
+
assert_equal( true , '〕'.close_paren?)
|
52
|
+
assert_equal( false, '〕'.open_paren? )
|
53
|
+
assert_equal( false, '['.close_paren?)
|
54
|
+
assert_equal( true , '['.open_paren? )
|
55
|
+
assert_equal( true , ']'.close_paren?)
|
56
|
+
assert_equal( false, ']'.open_paren? )
|
57
|
+
assert_equal( false, '{'.close_paren?)
|
58
|
+
assert_equal( true , '{'.open_paren? )
|
59
|
+
assert_equal( true , '}'.close_paren?)
|
60
|
+
assert_equal( false, '}'.open_paren? )
|
61
|
+
assert_equal( false, '〈'.close_paren?)
|
62
|
+
assert_equal( true , '〈'.open_paren? )
|
63
|
+
assert_equal( true , '〉'.close_paren?)
|
64
|
+
assert_equal( false, '〉'.open_paren? )
|
65
|
+
assert_equal( false, '《'.close_paren?)
|
66
|
+
assert_equal( true , '《'.open_paren? )
|
67
|
+
assert_equal( true , '》'.close_paren?)
|
68
|
+
assert_equal( false, '》'.open_paren? )
|
69
|
+
assert_equal( false, '「'.close_paren?)
|
70
|
+
assert_equal( true , '「'.open_paren? )
|
71
|
+
assert_equal( true , '」'.close_paren?)
|
72
|
+
assert_equal( false, '」'.open_paren? )
|
73
|
+
assert_equal( false, '『'.close_paren?)
|
74
|
+
assert_equal( true , '『'.open_paren? )
|
75
|
+
assert_equal( true , '』'.close_paren?)
|
76
|
+
assert_equal( false, '』'.open_paren? )
|
77
|
+
assert_equal( false, '【'.close_paren?)
|
78
|
+
assert_equal( true , '【'.open_paren? )
|
79
|
+
assert_equal( true , '】'.close_paren?)
|
80
|
+
assert_equal( false, '】'.open_paren? )
|
81
|
+
assert_equal( false, '<'.close_paren?)
|
82
|
+
assert_equal( true , '<'.open_paren? )
|
83
|
+
assert_equal( true , '>'.close_paren?)
|
84
|
+
assert_equal( false, '>'.open_paren? )
|
85
|
+
assert_equal( false, '(('.open_paren? )
|
86
|
+
assert_equal( false, '))'.open_paren? )
|
87
|
+
assert_equal( false, '({'.open_paren? )
|
88
|
+
assert_equal( false, ')}'.open_paren? )
|
89
|
+
end
|
90
90
|
end
|
data/test/test_string_width.rb
CHANGED
@@ -7,13 +7,13 @@ require "string/width.rb"
|
|
7
7
|
|
8
8
|
class TC_String_width < Test::Unit::TestCase
|
9
9
|
#describe String, "for width in displayed terminal" do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
10
|
+
def test_width
|
11
|
+
assert_equal( 3, "abc".width )
|
12
|
+
assert_equal( 6, "あいう".width )
|
13
|
+
assert_equal( 9, "あaいbうc".width )
|
14
|
+
assert_equal( 1, "’".width )
|
15
|
+
assert_equal( 1, "”".width )
|
16
|
+
end
|
17
17
|
|
18
18
|
end
|
19
19
|
|
metadata
CHANGED
@@ -1,100 +1,89 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: builtinextension
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- ippei94da
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-07-17 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: test-unit
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 3.
|
19
|
+
version: 3.1.2
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 3.
|
26
|
+
version: 3.1.2
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rdoc
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 4.
|
33
|
+
version: 4.2.0
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 4.
|
40
|
+
version: 4.2.0
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: bundler
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: 1.
|
47
|
+
version: 1.10.5
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
54
|
+
version: 1.10.5
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: jeweler
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: 2.0.1
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: 2.0.1
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: simplecov
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: 0.9.0
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 0.9.0
|
94
|
-
description:
|
95
|
-
|
96
|
-
|
97
|
-
|
83
|
+
description: "Personally frequently used methods for builtin classes,\n e.g., String,
|
84
|
+
Array, etc.\n These methods are not implemented in Ruby and\n are doubted
|
85
|
+
to offer to be implemented into Ruby core system.\n A main target is my personal
|
86
|
+
programming.\n "
|
98
87
|
email: ippei94da@gmail.com
|
99
88
|
executables: []
|
100
89
|
extensions: []
|
@@ -102,8 +91,8 @@ extra_rdoc_files:
|
|
102
91
|
- LICENSE.txt
|
103
92
|
- README.rdoc
|
104
93
|
files:
|
105
|
-
- .document
|
106
|
-
- .rspec
|
94
|
+
- ".document"
|
95
|
+
- ".rspec"
|
107
96
|
- CHANGES
|
108
97
|
- Gemfile
|
109
98
|
- LICENSE.txt
|
@@ -113,6 +102,7 @@ files:
|
|
113
102
|
- builtinextension.gemspec
|
114
103
|
- lib/array/includeeql.rb
|
115
104
|
- lib/array/selectindices.rb
|
105
|
+
- lib/float/equalindelta.rb
|
116
106
|
- lib/string/color.rb
|
117
107
|
- lib/string/escapezsh.rb
|
118
108
|
- lib/string/mismatch.rb
|
@@ -122,6 +112,7 @@ files:
|
|
122
112
|
- test/print_color
|
123
113
|
- test/test_array_include_eql.rb
|
124
114
|
- test/test_array_select_indices.rb
|
115
|
+
- test/test_float_equalindelta.rb
|
125
116
|
- test/test_string_color.rb
|
126
117
|
- test/test_string_escape_zsh.rb
|
127
118
|
- test/test_string_mismatch.rb
|
@@ -130,29 +121,25 @@ files:
|
|
130
121
|
homepage: http://github.com/ippei94da/builtinextension
|
131
122
|
licenses:
|
132
123
|
- MIT
|
124
|
+
metadata: {}
|
133
125
|
post_install_message:
|
134
126
|
rdoc_options: []
|
135
127
|
require_paths:
|
136
128
|
- lib
|
137
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
130
|
requirements:
|
140
|
-
- -
|
131
|
+
- - ">="
|
141
132
|
- !ruby/object:Gem::Version
|
142
133
|
version: '0'
|
143
|
-
segments:
|
144
|
-
- 0
|
145
|
-
hash: 4197041403979202951
|
146
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
-
none: false
|
148
135
|
requirements:
|
149
|
-
- -
|
136
|
+
- - ">="
|
150
137
|
- !ruby/object:Gem::Version
|
151
138
|
version: '0'
|
152
139
|
requirements: []
|
153
140
|
rubyforge_project:
|
154
|
-
rubygems_version:
|
141
|
+
rubygems_version: 2.2.2
|
155
142
|
signing_key:
|
156
|
-
specification_version:
|
143
|
+
specification_version: 4
|
157
144
|
summary: Method as extension for builtin classes
|
158
145
|
test_files: []
|