Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
4bd527ce
Commit
4bd527ce
authored
Jun 15, 2013
by
Daniel Bovensiepen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve Kernel Tests
parent
b1c309cc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
106 additions
and
102 deletions
+106
-102
test/t/kernel.rb
test/t/kernel.rb
+106
-102
No files found.
test/t/kernel.rb
View file @
4bd527ce
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
# Kernel ISO Test
# Kernel ISO Test
assert
(
'Kernel'
,
'15.3.1'
)
do
assert
(
'Kernel'
,
'15.3.1'
)
do
Kernel
.
class
==
Module
assert_equal
Kernel
.
class
,
Module
end
end
assert
(
'Kernel.block_given?'
,
'15.3.1.2.2'
)
do
assert
(
'Kernel.block_given?'
,
'15.3.1.2.2'
)
do
...
@@ -14,23 +14,29 @@ assert('Kernel.block_given?', '15.3.1.2.2') do
...
@@ -14,23 +14,29 @@ assert('Kernel.block_given?', '15.3.1.2.2') do
end
end
end
end
(
Kernel
.
block_given?
==
false
)
and
assert_false
Kernel
.
block_given?
# test without block
# test without block
(
bg_try
==
"no block"
)
and
assert_equal
bg_try
,
"no block"
# test with block
# test with block
((
bg_try
{
"block"
})
==
"block"
)
and
assert_equal
"block"
do
# test with block
bg_try
{
"block"
}
((
bg_try
do
"block"
end
)
==
"block"
)
end
# test with block
assert_equal
"block"
do
bg_try
do
"block"
end
end
end
end
# Kernel.eval is provided by the mruby-gem mrbgem. '15.3.1.2.3'
# Kernel.eval is provided by the mruby-gem mrbgem. '15.3.1.2.3'
assert
(
'Kernel.global_variables'
,
'15.3.1.2.4'
)
do
assert
(
'Kernel.global_variables'
,
'15.3.1.2.4'
)
do
Kernel
.
global_variables
.
class
==
Array
assert_equal
Kernel
.
global_variables
.
class
,
Array
end
end
assert
(
'Kernel.iterator?'
,
'15.3.1.2.5'
)
do
assert
(
'Kernel.iterator?'
,
'15.3.1.2.5'
)
do
Kernel
.
iterator?
==
false
assert_false
Kernel
.
iterator?
end
end
assert
(
'Kernel.lambda'
,
'15.3.1.2.6'
)
do
assert
(
'Kernel.lambda'
,
'15.3.1.2.6'
)
do
...
@@ -40,7 +46,10 @@ assert('Kernel.lambda', '15.3.1.2.6') do
...
@@ -40,7 +46,10 @@ assert('Kernel.lambda', '15.3.1.2.6') do
m
=
Kernel
.
lambda
(
&
l
)
m
=
Kernel
.
lambda
(
&
l
)
l
.
call
and
l
.
class
==
Proc
and
m
.
call
and
m
.
class
==
Proc
assert_true
l
.
call
assert_equal
l
.
class
,
Proc
assert_true
m
.
call
assert_equal
m
.
class
,
Proc
end
end
# Not implemented at the moment
# Not implemented at the moment
...
@@ -56,47 +65,36 @@ assert('Kernel.loop', '15.3.1.2.8') do
...
@@ -56,47 +65,36 @@ assert('Kernel.loop', '15.3.1.2.8') do
break
if
i
==
100
break
if
i
==
100
end
end
i
==
100
assert_equal
i
,
100
end
end
assert
(
'Kernel.p'
,
'15.3.1.2.9'
)
do
assert
(
'Kernel.p'
,
'15.3.1.2.9'
)
do
# TODO search for a way to test p to stdio
# TODO search for a way to test p to stdio
true
assert_true
true
end
end
assert
(
'Kernel.print'
,
'15.3.1.2.10'
)
do
assert
(
'Kernel.print'
,
'15.3.1.2.10'
)
do
# TODO search for a way to test print to stdio
# TODO search for a way to test print to stdio
true
assert_true
true
end
end
assert
(
'Kernel.puts'
,
'15.3.1.2.11'
)
do
assert
(
'Kernel.puts'
,
'15.3.1.2.11'
)
do
# TODO search for a way to test puts to stdio
# TODO search for a way to test puts to stdio
true
assert_true
true
end
end
assert
(
'Kernel.raise'
,
'15.3.1.2.12'
)
do
assert
(
'Kernel.raise'
,
'15.3.1.2.12'
)
do
e_list
=
[]
assert_raise
RuntimeError
do
begin
Kernel
.
raise
Kernel
.
raise
rescue
=>
e
e_list
<<
e
end
end
begin
assert_raise
RuntimeError
do
Kernel
.
raise
RuntimeError
.
new
Kernel
.
raise
RuntimeError
.
new
rescue
=>
e
e_list
<<
e
end
end
# result without argument
e_list
[
0
].
class
==
RuntimeError
and
# result with RuntimeError argument
e_list
[
1
].
class
==
RuntimeError
end
end
assert
(
'Kernel#__id__'
,
'15.3.1.3.3'
)
do
assert
(
'Kernel#__id__'
,
'15.3.1.3.3'
)
do
__id__
.
class
==
Fixnum
assert_equal
__id__
.
class
,
Fixnum
end
end
assert
(
'Kernel#__send__'
,
'15.3.1.3.4'
)
do
assert
(
'Kernel#__send__'
,
'15.3.1.3.4'
)
do
...
@@ -105,11 +103,12 @@ assert('Kernel#__send__', '15.3.1.3.4') do
...
@@ -105,11 +103,12 @@ assert('Kernel#__send__', '15.3.1.3.4') do
true
true
end
end
l
.
call
and
l
.
class
==
Proc
and
assert_true
l
.
call
# test with argument
assert_equal
l
.
class
,
Proc
__send__
(
:respond_to?
,
:nil?
)
and
# test with argument
# test without argument and without block
assert_true
__send__
(
:respond_to?
,
:nil?
)
__send__
(
:public_methods
).
class
==
Array
# test without argument and without block
assert_equal
__send__
(
:public_methods
).
class
,
Array
end
end
assert
(
'Kernel#block_given?'
,
'15.3.1.3.6'
)
do
assert
(
'Kernel#block_given?'
,
'15.3.1.3.6'
)
do
...
@@ -121,14 +120,20 @@ assert('Kernel#block_given?', '15.3.1.3.6') do
...
@@ -121,14 +120,20 @@ assert('Kernel#block_given?', '15.3.1.3.6') do
end
end
end
end
(
block_given?
==
false
)
and
assert_false
block_given?
(
bg_try
==
"no block"
)
and
assert_equal
bg_try
,
"no block"
((
bg_try
{
"block"
})
==
"block"
)
and
assert_equal
"block"
do
((
bg_try
do
"block"
end
)
==
"block"
)
bg_try
{
"block"
}
end
assert_equal
"block"
do
bg_try
do
"block"
end
end
end
end
assert
(
'Kernel#class'
,
'15.3.1.3.7'
)
do
assert
(
'Kernel#class'
,
'15.3.1.3.7'
)
do
Kernel
.
class
==
Module
assert_equal
Kernel
.
class
,
Module
end
end
assert
(
'Kernel#clone'
,
'15.3.1.3.8'
)
do
assert
(
'Kernel#clone'
,
'15.3.1.3.8'
)
do
...
@@ -165,10 +170,12 @@ assert('Kernel#clone', '15.3.1.3.8') do
...
@@ -165,10 +170,12 @@ assert('Kernel#clone', '15.3.1.3.8') do
end
end
end
end
a
.
get
==
2
and
b
.
get
==
1
and
c
.
get
==
2
&&
assert_equal
a
.
get
,
2
a
.
respond_to?
(
:test
)
==
true
and
assert_equal
b
.
get
,
1
b
.
respond_to?
(
:test
)
==
false
and
assert_equal
c
.
get
,
2
c
.
respond_to?
(
:test
)
==
true
assert_true
a
.
respond_to?
(
:test
)
assert_false
b
.
respond_to?
(
:test
)
assert_true
c
.
respond_to?
(
:test
)
end
end
assert
(
'Kernel#dup'
,
'15.3.1.3.9'
)
do
assert
(
'Kernel#dup'
,
'15.3.1.3.9'
)
do
...
@@ -205,11 +212,13 @@ assert('Kernel#dup', '15.3.1.3.9') do
...
@@ -205,11 +212,13 @@ assert('Kernel#dup', '15.3.1.3.9') do
end
end
end
end
error_count
==
immutables
.
size
and
assert_equal
error_count
,
immutables
.
size
a
.
get
==
2
and
b
.
get
==
1
and
c
.
get
==
2
and
assert_equal
a
.
get
,
2
a
.
respond_to?
(
:test
)
==
true
and
assert_equal
b
.
get
,
1
b
.
respond_to?
(
:test
)
==
false
and
assert_equal
c
.
get
,
2
c
.
respond_to?
(
:test
)
==
false
assert_true
a
.
respond_to?
(
:test
)
assert_false
b
.
respond_to?
(
:test
)
assert_false
c
.
respond_to?
(
:test
)
end
end
# Kernel#eval is provided by mruby-eval mrbgem '15.3.1.3.12'
# Kernel#eval is provided by mruby-eval mrbgem '15.3.1.3.12'
...
@@ -226,7 +235,8 @@ assert('Kernel#extend', '15.3.1.3.13') do
...
@@ -226,7 +235,8 @@ assert('Kernel#extend', '15.3.1.3.13') do
a
.
extend
(
Test4ExtendModule
)
a
.
extend
(
Test4ExtendModule
)
b
=
Test4ExtendClass
.
new
b
=
Test4ExtendClass
.
new
a
.
respond_to?
(
:test_method
)
==
true
&&
b
.
respond_to?
(
:test_method
)
==
false
assert_true
a
.
respond_to?
(
:test_method
)
assert_false
b
.
respond_to?
(
:test_method
)
end
end
assert
(
'Kernel#extend works on toplevel'
,
'15.3.1.3.13'
)
do
assert
(
'Kernel#extend works on toplevel'
,
'15.3.1.3.13'
)
do
...
@@ -236,20 +246,22 @@ assert('Kernel#extend works on toplevel', '15.3.1.3.13') do
...
@@ -236,20 +246,22 @@ assert('Kernel#extend works on toplevel', '15.3.1.3.13') do
# This would crash...
# This would crash...
extend
(
Test4ExtendModule
)
extend
(
Test4ExtendModule
)
respond_to?
(
:test_method
)
==
true
assert_true
respond_to?
(
:test_method
)
end
end
assert
(
'Kernel#global_variables'
,
'15.3.1.3.14'
)
do
assert
(
'Kernel#global_variables'
,
'15.3.1.3.14'
)
do
global_variables
.
class
==
Array
assert_equal
global_variables
.
class
,
Array
end
end
assert
(
'Kernel#hash'
,
'15.3.1.3.15'
)
do
assert
(
'Kernel#hash'
,
'15.3.1.3.15'
)
do
hash
==
hash
assert_equal
hash
,
hash
end
end
assert
(
'Kernel#inspect'
,
'15.3.1.3.17'
)
do
assert
(
'Kernel#inspect'
,
'15.3.1.3.17'
)
do
s
=
inspect
s
=
inspect
s
.
class
==
String
and
s
==
"main"
assert_equal
s
.
class
,
String
assert_equal
s
,
"main"
end
end
assert
(
'Kernel#instance_variables'
,
'15.3.1.3.23'
)
do
assert
(
'Kernel#instance_variables'
,
'15.3.1.3.23'
)
do
...
@@ -259,19 +271,25 @@ assert('Kernel#instance_variables', '15.3.1.3.23') do
...
@@ -259,19 +271,25 @@ assert('Kernel#instance_variables', '15.3.1.3.23') do
@b
=
12
@b
=
12
end
end
ivars
=
o
.
instance_variables
ivars
=
o
.
instance_variables
ivars
.
class
==
Array
and
ivars
.
size
==
2
and
ivars
.
include?
(
:@a
)
and
ivars
.
include?
(
:@b
)
assert_equal
ivars
.
class
,
Array
assert_equal
ivars
.
size
,
2
assert_true
ivars
.
include?
(
:@a
)
assert_true
ivars
.
include?
(
:@b
)
end
end
assert
(
'Kernel#is_a?'
,
'15.3.1.3.24'
)
do
assert
(
'Kernel#is_a?'
,
'15.3.1.3.24'
)
do
is_a?
(
Kernel
)
and
not
is_a?
(
Array
)
assert_true
is_a?
(
Kernel
)
assert_false
is_a?
(
Array
)
end
end
assert
(
'Kernel#iterator?'
,
'15.3.1.3.25'
)
do
assert
(
'Kernel#iterator?'
,
'15.3.1.3.25'
)
do
iterator?
==
false
assert_false
iterator?
end
end
assert
(
'Kernel#kind_of?'
,
'15.3.1.3.26'
)
do
assert
(
'Kernel#kind_of?'
,
'15.3.1.3.26'
)
do
kind_of?
(
Kernel
)
and
not
kind_of?
(
Array
)
assert_true
kind_of?
(
Kernel
)
assert_false
kind_of?
(
Array
)
end
end
assert
(
'Kernel#lambda'
,
'15.3.1.3.27'
)
do
assert
(
'Kernel#lambda'
,
'15.3.1.3.27'
)
do
...
@@ -281,7 +299,10 @@ assert('Kernel#lambda', '15.3.1.3.27') do
...
@@ -281,7 +299,10 @@ assert('Kernel#lambda', '15.3.1.3.27') do
m
=
lambda
(
&
l
)
m
=
lambda
(
&
l
)
l
.
call
and
l
.
class
==
Proc
and
m
.
call
and
m
.
class
==
Proc
assert_true
l
.
call
assert_equal
l
.
class
,
Proc
assert_true
m
.
call
assert_equal
m
.
class
,
Proc
end
end
# Not implemented yet
# Not implemented yet
...
@@ -297,19 +318,19 @@ assert('Kernel#loop', '15.3.1.3.29') do
...
@@ -297,19 +318,19 @@ assert('Kernel#loop', '15.3.1.3.29') do
break
if
i
==
100
break
if
i
==
100
end
end
i
==
100
assert_equal
i
,
100
end
end
assert
(
'Kernel#methods'
,
'15.3.1.3.31'
)
do
assert
(
'Kernel#methods'
,
'15.3.1.3.31'
)
do
methods
.
class
==
Array
assert_equal
methods
.
class
,
Array
end
end
assert
(
'Kernel#nil?'
,
'15.3.1.3.32'
)
do
assert
(
'Kernel#nil?'
,
'15.3.1.3.32'
)
do
nil
?
==
false
assert_false
nil
?
end
end
assert
(
'Kernel#object_id'
,
'15.3.1.3.33'
)
do
assert
(
'Kernel#object_id'
,
'15.3.1.3.33'
)
do
object_id
.
class
==
Fixnum
assert_equal
object_id
.
class
,
Fixnum
end
end
# Kernel#p is defined in mruby-print mrbgem. '15.3.1.3.34'
# Kernel#p is defined in mruby-print mrbgem. '15.3.1.3.34'
...
@@ -317,45 +338,32 @@ end
...
@@ -317,45 +338,32 @@ end
# Kernel#print is defined in mruby-print mrbgem. '15.3.1.3.35'
# Kernel#print is defined in mruby-print mrbgem. '15.3.1.3.35'
assert
(
'Kernel#private_methods'
,
'15.3.1.3.36'
)
do
assert
(
'Kernel#private_methods'
,
'15.3.1.3.36'
)
do
private_methods
.
class
==
Array
assert_equal
private_methods
.
class
,
Array
end
end
assert
(
'Kernel#protected_methods'
,
'15.3.1.3.37'
)
do
assert
(
'Kernel#protected_methods'
,
'15.3.1.3.37'
)
do
protected_methods
.
class
==
Array
assert_equal
protected_methods
.
class
,
Array
end
end
assert
(
'Kernel#public_methods'
,
'15.3.1.3.38'
)
do
assert
(
'Kernel#public_methods'
,
'15.3.1.3.38'
)
do
public_methods
.
class
==
Array
assert_equal
public_methods
.
class
,
Array
end
end
# Kernel#puts is defined in mruby-print mrbgem. '15.3.1.3.39'
# Kernel#puts is defined in mruby-print mrbgem. '15.3.1.3.39'
assert
(
'Kernel#raise'
,
'15.3.1.3.40'
)
do
assert
(
'Kernel#raise'
,
'15.3.1.3.40'
)
do
e_list
=
[]
assert_raise
RuntimeError
do
begin
raise
raise
rescue
=>
e
e_list
<<
e
end
end
begin
assert_raise
RuntimeError
do
raise
RuntimeError
.
new
raise
RuntimeError
.
new
rescue
=>
e
e_list
<<
e
end
end
# result without argument
e_list
[
0
].
class
==
RuntimeError
and
# result with RuntimeError argument
e_list
[
1
].
class
==
RuntimeError
end
end
# Kernel#require is defined in mruby-require. '15.3.1.3.42'
# Kernel#require is defined in mruby-require. '15.3.1.3.42'
assert
(
'Kernel#respond_to?'
,
'15.3.1.3.43'
)
do
assert
(
'Kernel#respond_to?'
,
'15.3.1.3.43'
)
do
e_list
=
[]
class
Test4RespondTo
class
Test4RespondTo
def
valid_method
;
end
def
valid_method
;
end
...
@@ -363,17 +371,14 @@ assert('Kernel#respond_to?', '15.3.1.3.43') do
...
@@ -363,17 +371,14 @@ assert('Kernel#respond_to?', '15.3.1.3.43') do
undef
test_method
undef
test_method
end
end
begin
assert_raise
TypeError
do
Test4RespondTo
.
new
.
respond_to?
(
1
)
Test4RespondTo
.
new
.
respond_to?
(
1
)
rescue
=>
e
e_list
<<
e
.
class
end
end
e_list
[
0
]
==
TypeError
and
assert_true
respond_to?
(:
nil
?)
respond_to?
(:
nil
?)
and
assert_true
Test4RespondTo
.
new
.
respond_to?
(
:valid_method
)
Test4RespondTo
.
new
.
respond_to?
(
:valid_method
)
==
true
and
assert_true
Test4RespondTo
.
new
.
respond_to?
(
'valid_method'
)
Test4RespondTo
.
new
.
respond_to?
(
'valid_method'
)
==
true
and
assert_false
Test4RespondTo
.
new
.
respond_to?
(
:test_method
)
Test4RespondTo
.
new
.
respond_to?
(
:test_method
)
==
false
end
end
assert
(
'Kernel#send'
,
'15.3.1.3.44'
)
do
assert
(
'Kernel#send'
,
'15.3.1.3.44'
)
do
...
@@ -382,19 +387,20 @@ assert('Kernel#send', '15.3.1.3.44') do
...
@@ -382,19 +387,20 @@ assert('Kernel#send', '15.3.1.3.44') do
true
true
end
end
l
.
call
and
l
.
class
==
Proc
and
assert_true
l
.
call
# test with argument
assert_equal
l
.
class
,
Proc
send
(
:respond_to?
,
:nil?
)
and
# test with argument
# test without argument and without block
assert_true
send
(
:respond_to?
,
:nil?
)
send
(
:public_methods
).
class
==
Array
# test without argument and without block
assert_equal
send
(
:public_methods
).
class
,
Array
end
end
assert
(
'Kernel#singleton_methods'
,
'15.3.1.3.45'
)
do
assert
(
'Kernel#singleton_methods'
,
'15.3.1.3.45'
)
do
singleton_methods
.
class
==
Array
assert_equal
singleton_methods
.
class
,
Array
end
end
assert
(
'Kernel#to_s'
,
'15.3.1.3.46'
)
do
assert
(
'Kernel#to_s'
,
'15.3.1.3.46'
)
do
to_s
.
class
==
String
assert_equal
to_s
.
class
,
String
end
end
assert
(
'Kernel#!='
)
do
assert
(
'Kernel#!='
)
do
...
@@ -402,20 +408,18 @@ assert('Kernel#!=') do
...
@@ -402,20 +408,18 @@ assert('Kernel#!=') do
str2
=
str1
str2
=
str1
str3
=
"world"
str3
=
"world"
(
str1
[
1
]
!=
'e'
)
==
false
and
assert_false
(
str1
[
1
]
!=
'e'
)
(
str1
!=
str3
)
==
true
and
assert_true
(
str1
!=
str3
)
(
str2
!=
str1
)
==
false
assert_false
(
str2
!=
str1
)
end
end
assert
(
'Kernel#respond_to_missing?'
)
do
assert
(
'Kernel#respond_to_missing?'
)
do
class
Test4RespondToMissing
class
Test4RespondToMissing
def
respond_to_missing?
(
method_name
,
include_private
=
false
)
def
respond_to_missing?
(
method_name
,
include_private
=
false
)
method_name
==
:a_method
method_name
==
:a_method
end
end
end
end
Test4RespondToMissing
.
new
.
respond_to?
(
:a_method
)
==
true
and
assert_true
Test4RespondToMissing
.
new
.
respond_to?
(
:a_method
)
Test4RespondToMissing
.
new
.
respond_to?
(
:no_method
)
==
false
assert_false
Test4RespondToMissing
.
new
.
respond_to?
(
:no_method
)
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment