ray 0.0.0.pre1
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 +7 -0
- data/Rakefile +47 -0
- data/VERSION +1 -0
- data/bin/ray +5 -0
- data/bin/ray_irb +4 -0
- data/ext/Makefile +189 -0
- data/ext/SDLMain.h +17 -0
- data/ext/SDLMain.m +381 -0
- data/ext/color.c +147 -0
- data/ext/extconf.rb +92 -0
- data/ext/image.c +192 -0
- data/ext/ray +0 -0
- data/ext/ray.bundle +0 -0
- data/ext/ray.c +125 -0
- data/ext/ray.h +82 -0
- data/ext/ray_ext.bundle +0 -0
- data/ext/ray_ext.so +0 -0
- data/ext/rect.c +204 -0
- data/ext/test.rb +21 -0
- data/lib/ray.rb +1 -0
- data/lib/ray/color.rb +30 -0
- data/lib/ray/ray.rb +11 -0
- data/lib/ray/rect.rb +13 -0
- data/spec/ray/color_spec.rb +44 -0
- data/spec/ray/image_spec.rb +34 -0
- data/spec/ray/ray_spec.rb +15 -0
- data/spec/ray/rect_spec.rb +74 -0
- data/spec_runner.rb +23 -0
- metadata +101 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
describe Ray do
|
2
|
+
describe "#create_window" do
|
3
|
+
context "when given an unappropriate configuration" do
|
4
|
+
it "should raise runtime error" do
|
5
|
+
Ray.init
|
6
|
+
|
7
|
+
lambda {
|
8
|
+
Ray.create_window(:w => 100, :h => 100, :bpp => 1)
|
9
|
+
}.should raise_exception(RuntimeError)
|
10
|
+
|
11
|
+
Ray.stop
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
describe Ray::Rect do
|
2
|
+
[:x, :y, :width, :height].each do |meth|
|
3
|
+
describe "##{meth}=" do
|
4
|
+
it "should set a new value to #{meth}" do
|
5
|
+
rect = Ray::Rect.new(0, 0)
|
6
|
+
lambda {
|
7
|
+
rect.send("#{meth}=", 30)
|
8
|
+
}.should change(rect, meth).from(0).to(30)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should only allow numerics" do
|
12
|
+
rect = Ray::Rect.new(0, 0)
|
13
|
+
|
14
|
+
["1.0", "5.d", Ray, Ray::Rect, rect].each do |obj|
|
15
|
+
lambda {
|
16
|
+
rect.send("#{meth}=", obj)
|
17
|
+
}.should raise_exception(TypeError)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#initialize" do
|
24
|
+
context "with a hash" do
|
25
|
+
it "should not allow to pass x but not y" do
|
26
|
+
lambda {
|
27
|
+
Ray::Rect.new(:x => 10)
|
28
|
+
}.should raise_exception(ArgumentError)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should not allow to pass width but not height" do
|
32
|
+
lambda {
|
33
|
+
Ray::Rect.new(:x => 10, :y => 200, :width => 300)
|
34
|
+
}.should raise_exception(ArgumentError)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should require x and y to be present" do
|
38
|
+
lambda {
|
39
|
+
Ray::Rect.new(:width => 400, :height => 300)
|
40
|
+
}.should raise_exception(ArgumentError)
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should only work with numerics" do
|
44
|
+
["1.0", "5.d", Ray, Ray::Rect].each do |obj|
|
45
|
+
lambda {
|
46
|
+
Ray::Rect.new(:x => obj, :y => 30)
|
47
|
+
}.should raise_exception(TypeError)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context "with separated arguments" do
|
53
|
+
it "should not work with one integer" do
|
54
|
+
lambda {
|
55
|
+
Ray::Rect.new(10)
|
56
|
+
}.should raise_exception(ArgumentError)
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should not work with 3 integers" do
|
60
|
+
lambda {
|
61
|
+
Ray::Rect.new(10, 30, 40)
|
62
|
+
}.should raise_exception(ArgumentError)
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should only work with numerics" do
|
66
|
+
["1.0", "5.d", Ray, Ray::Rect].each do |obj|
|
67
|
+
lambda {
|
68
|
+
Ray::Rect.new(obj, 30)
|
69
|
+
}.should raise_exception(TypeError)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
data/spec_runner.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
$: << "./ext/" << "./lib/"
|
2
|
+
path = File.expand_path(File.join(File.dirname(__FILE__), "ext/ray"))
|
3
|
+
our_path = File.expand_path(File.join(File.dirname(__FILE__), "spec_runner.rb"))
|
4
|
+
|
5
|
+
unless defined? Ray
|
6
|
+
unless RUBY_PLATFORM =~ /darwin/
|
7
|
+
require 'ray_ext'
|
8
|
+
else
|
9
|
+
if File.exist? path
|
10
|
+
system "#{path} #{our_path}"
|
11
|
+
exit $?.exitstatus
|
12
|
+
else
|
13
|
+
$stderr.puts "please build ray (rake ext)"
|
14
|
+
exit 1
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
require 'ray'
|
20
|
+
|
21
|
+
require 'spec'
|
22
|
+
require 'spec/autorun'
|
23
|
+
Dir["spec/**/*_spec.rb"].each { |file| load file }
|
metadata
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ray
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: true
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- pre1
|
10
|
+
version: 0.0.0.pre1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- "Mon ou\xC3\xAFe"
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-08-17 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies: []
|
21
|
+
|
22
|
+
description:
|
23
|
+
email: mon.ouie@gmail.com
|
24
|
+
executables:
|
25
|
+
- ray
|
26
|
+
- ray_irb
|
27
|
+
- ray
|
28
|
+
- ray_irb
|
29
|
+
extensions:
|
30
|
+
- ext/extconf.rb
|
31
|
+
- ext/extconf.rb
|
32
|
+
extra_rdoc_files: []
|
33
|
+
|
34
|
+
files:
|
35
|
+
- .gitignore
|
36
|
+
- Rakefile
|
37
|
+
- VERSION
|
38
|
+
- bin/ray
|
39
|
+
- bin/ray_irb
|
40
|
+
- ext/Makefile
|
41
|
+
- ext/SDLMain.h
|
42
|
+
- ext/SDLMain.m
|
43
|
+
- ext/color.c
|
44
|
+
- ext/extconf.rb
|
45
|
+
- ext/image.c
|
46
|
+
- ext/ray
|
47
|
+
- ext/ray.bundle
|
48
|
+
- ext/ray.c
|
49
|
+
- ext/ray.h
|
50
|
+
- ext/ray_ext.bundle
|
51
|
+
- ext/ray_ext.so
|
52
|
+
- ext/rect.c
|
53
|
+
- ext/test.rb
|
54
|
+
- lib/ray.rb
|
55
|
+
- lib/ray/color.rb
|
56
|
+
- lib/ray/ray.rb
|
57
|
+
- lib/ray/rect.rb
|
58
|
+
- spec/ray/color_spec.rb
|
59
|
+
- spec/ray/image_spec.rb
|
60
|
+
- spec/ray/ray_spec.rb
|
61
|
+
- spec/ray/rect_spec.rb
|
62
|
+
- spec_runner.rb
|
63
|
+
has_rdoc: true
|
64
|
+
homepage: http://github.com/Mon-Ouie/ray
|
65
|
+
licenses: []
|
66
|
+
|
67
|
+
post_install_message:
|
68
|
+
rdoc_options:
|
69
|
+
- --charset=UTF-8
|
70
|
+
require_paths:
|
71
|
+
- lib
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
segments:
|
78
|
+
- 0
|
79
|
+
version: "0"
|
80
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ">"
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
segments:
|
86
|
+
- 1
|
87
|
+
- 3
|
88
|
+
- 1
|
89
|
+
version: 1.3.1
|
90
|
+
requirements: []
|
91
|
+
|
92
|
+
rubyforge_project:
|
93
|
+
rubygems_version: 1.3.7
|
94
|
+
signing_key:
|
95
|
+
specification_version: 3
|
96
|
+
summary: ""
|
97
|
+
test_files:
|
98
|
+
- spec/ray/color_spec.rb
|
99
|
+
- spec/ray/image_spec.rb
|
100
|
+
- spec/ray/ray_spec.rb
|
101
|
+
- spec/ray/rect_spec.rb
|