sdl2_ffi 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,36 @@
1
+ require_relative '../../test_helper'
2
+
3
+ require 'sdl2/pixels' # SDL_pixels.h defines SDL_PixelFormat
4
+
5
+ require 'sdl2/pixel_format'
6
+
7
+ describe SDL2::PixelFormat do
8
+
9
+ it 'can be created in all formats' do
10
+
11
+ SDL2::PIXELFORMAT.by_name.each do |format|
12
+ unless format == 0 # Skip "UNKOWN"
13
+ begin
14
+ pixel_format = SDL2::PixelFormat.create(format[1])
15
+ refute pixel_format.null?
16
+ assert_kind_of SDL2::PixelFormat, pixel_format
17
+ rescue RuntimeError => e
18
+ skip "Problem with SDL2::PIXELFORMAT.#{format[0]}" #TODO: Fix broken PIXELFORMATS
19
+ end
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+
26
+
27
+ it 'can get the name of all formats' do
28
+ SDL2::PIXELFORMAT.by_name.each_pair do |k,v|
29
+ name = SDL2::PixelFormat.get_name(v)
30
+ assert_includes name, k.to_s
31
+ end
32
+ end
33
+
34
+
35
+
36
+ end
@@ -40,6 +40,49 @@ describe SDL2 do
40
40
  ].each do |function|
41
41
  assert_respond_to SDL2, function
42
42
  end
43
+ end
44
+ end
43
45
 
46
+ describe SDL2::Surface do
47
+
48
+ it 'rejects invalid pixel formats' do
49
+ assert_raises RuntimeError do
50
+ # Try to create a 64bit depth image
51
+ SDL2::Surface.create_rgb(0, 100, 100, 64)
52
+ end
53
+ end
54
+
55
+ it 'can be created with valid arguments' do
56
+ surfaces =
57
+ [
58
+ SDL2::Surface.create_rgb(0, 100, 100, 4),
59
+ SDL2::Surface.create_rgb(0, 100, 100, 8),
60
+ SDL2::Surface.create_rgb(0,100,100,16)
61
+ ]
62
+ surfaces.each do |surface|
63
+ refute surface.null?
64
+ assert_kind_of SDL2::Surface, surface
65
+ end
66
+ assert_equal 4, surfaces[0].format.bits_per_pixel
67
+ assert_equal 8, surfaces[1].format.bits_per_pixel
68
+ assert_equal 16, surfaces[2].format.bits_per_pixel
69
+ end
70
+
71
+ it 'can be freed' do
72
+ surface = SDL2::Surface.create_rgb(0, 100, 100, 4)
73
+ surface.free
74
+ skip("Don't know how to test this")
75
+ end
76
+
77
+ it 'can get and set the palette' do
78
+ surface = SDL2::Surface.create_rgb(0, 100, 100, 4)
79
+ surface_palette = surface.palette
80
+ assert_kind_of SDL2::Palette, surface_palette
81
+ my_palette = SDL2::Palette.create(16)
82
+
83
+
84
+ surface.palette = my_palette
85
+
86
+ assert_equal my_palette, surface.palette
44
87
  end
45
88
  end
@@ -0,0 +1,11 @@
1
+ require_relative '../../test_helper'
2
+
3
+ require 'sdl2/ttf'
4
+
5
+ describe SDL2::TTF do
6
+
7
+ it 'has the SDL_ttf.h API' do
8
+ skip 'not yet implemented'
9
+ end
10
+
11
+ end
@@ -1,18 +1,17 @@
1
1
  require_relative '../../test_helper'
2
2
 
3
- require 'sdl2/video' # Window is a part of the Video API
3
+ require 'sdl2/video'
4
+ # Window is a part of the Video API
4
5
 
5
6
  describe SDL2::Window do
6
-
7
+
7
8
  before do
8
9
  @window = SDL2::Window.create!
9
10
  end
10
-
11
+
11
12
  after do
12
13
  SDL2.destroy_window(@window)
13
14
  end
14
-
15
-
16
15
 
17
16
  it 'can be created' do
18
17
  window = SDL2::Window.create!('My Title', 10, 20, 300, 400)
@@ -20,7 +19,7 @@ describe SDL2::Window do
20
19
  SDL2.destroy_window(window)
21
20
  end
22
21
 
23
- it 'has a title' do
22
+ it 'has a title' do
24
23
  @window.title = 'Updated'
25
24
  assert_equal 'Updated', @window.title
26
25
  end
@@ -32,22 +31,22 @@ describe SDL2::Window do
32
31
  assert_equal [640, 480], window.current_size
33
32
  SDL2.destroy_window(window)
34
33
  end
35
-
34
+
36
35
  it 'has a maximum size' do
37
-
36
+
38
37
  assert_kind_of Array, @window.maximum_size
39
38
  @window.maximum_size = [800,600]
40
39
  assert_equal [800,600], @window.maximum_size
41
-
40
+
42
41
  end
43
-
42
+
44
43
  it 'has a minimum size' do
45
-
44
+
46
45
  assert_kind_of Array, @window.minimum_size
47
46
  @window.minimum_size = [320,200]
48
47
  assert_equal [320,200], @window.minimum_size
49
48
  end
50
-
49
+
51
50
  it 'has a pixel format' do
52
51
  assert_kind_of Integer, @window.pixel_format
53
52
  end
@@ -78,7 +77,7 @@ describe SDL2::Window do
78
77
  #assert_kind_of FFI::Pointer, window.data
79
78
  end
80
79
 
81
- it 'has an associated display' do
80
+ it 'has an associated display' do
82
81
  assert_kind_of SDL2::Display, @window.display
83
82
  end
84
83
 
@@ -86,73 +85,71 @@ describe SDL2::Window do
86
85
  assert_kind_of SDL2::Display::Mode, @window.display_mode
87
86
  end
88
87
 
89
- it 'has associated flags' do
88
+ it 'has associated flags' do
90
89
  assert_kind_of Integer, @window.flags
91
90
  end
92
-
91
+
93
92
  it 'has an associated gamma ramp' do
94
93
  skip('Not sure how to implement this yet.')
95
94
  end
96
-
95
+
97
96
  it 'has an associated id' do
98
97
  assert_kind_of Integer, @window.id
99
98
  end
100
-
99
+
101
100
  it 'has a position' do
102
101
  assert_kind_of Array, @window.position
103
102
  @window.position = [123,456]
104
103
  assert_equal [123,456], @window.position
105
104
  end
106
-
105
+
107
106
  it 'has a surface' do
108
107
  assert_kind_of SDL2::Surface, @window.surface
109
- end
110
-
108
+ end
109
+
111
110
  it 'can update the window surface' do
112
111
  surface = @window.surface
113
112
  assert_equal 0, @window.update_surface!
114
113
  end
115
-
114
+
116
115
  it 'can update surface rects' do
117
116
  skip('For now, I\'ll handle arrays of rects later.')
118
117
  end
119
-
118
+
120
119
  it 'can be hidden' do
121
120
  @window.hide
122
121
  skip("Not sure how to test state.")
123
122
  end
124
-
123
+
125
124
  it 'can be shown' do
126
125
  @window.show
127
126
  skip("Not sure how to test state.")
128
127
  end
129
-
128
+
130
129
  it 'can be maximized' do
131
130
  @window.maximize
132
131
  skip("Not sure how to test state.")
133
132
  end
134
-
133
+
135
134
  it 'can be minimized' do
136
135
  @window.minimize
137
136
  skip("Not sure how to test state.")
138
137
  end
139
-
138
+
140
139
  it 'can be restored' do
141
140
  @window.restore
142
141
  skip("Not sure how to test state.")
143
142
  end
144
-
143
+
145
144
  it 'can be raised above other windows' do
146
145
  @window.raise_above
147
146
  skip("Not sure how to test state.")
148
147
  end
149
-
148
+
150
149
  it 'can be set to fullscreen' do
151
150
  assert_equal 0, @window.flags & SDL2::Window::FULLSCREEN_DESKTOP
152
151
  @window.fullscreen = SDL2::Window::FULLSCREEN_DESKTOP
153
- refute_equal 0, @window.flags & SDL2::Window::FULLSCREEN_DESKTOP
152
+ refute_equal 0, @window.flags & SDL2::Window::FULLSCREEN_DESKTOP
154
153
  end
155
-
156
-
157
-
154
+
158
155
  end
@@ -0,0 +1,19 @@
1
+ require_relative '../test_helper'
2
+
3
+ require 'sdl2'
4
+ require 'sdl2/video'
5
+ require 'sdl2/image'
6
+
7
+ class TestScratch < MiniTest::Unit::TestCase
8
+ def test_a_game
9
+ window = SDL2::Window.create!("My Window", 0, 0, 300, 300)
10
+ win_surface = window.surface
11
+
12
+
13
+
14
+ color_bars = SDL2::Image.load(File.expand_path('color_bars.jpg', FIXTURE_DIR))
15
+
16
+ # binding.pry
17
+
18
+ end
19
+ end
@@ -9,8 +9,8 @@ describe SDL2 do
9
9
  assert true # if we got this far without exceptions.
10
10
  end
11
11
 
12
- it 'has FloatStruct for float typed pointers' do
13
- assert defined?(SDL2::FloatStruct)
12
+ it 'has FloatPointer for float typed pointers' do
13
+ assert defined?(SDL2::FloatPointer)
14
14
  end
15
15
 
16
16
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdl2_ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - BadQuanta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-12 00:00:00.000000000 Z
11
+ date: 2013-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -177,6 +177,8 @@ files:
177
177
  - lib/sdl2/gesture.rb
178
178
  - lib/sdl2/haptic.rb
179
179
  - lib/sdl2/hints.rb
180
+ - lib/sdl2/image.rb
181
+ - lib/sdl2/image/sdl_image_module.rb
180
182
  - lib/sdl2/init.rb
181
183
  - lib/sdl2/joystick.rb
182
184
  - lib/sdl2/keyboard.rb
@@ -202,11 +204,14 @@ files:
202
204
  - lib/sdl2/texture.rb
203
205
  - lib/sdl2/timer.rb
204
206
  - lib/sdl2/touch.rb
207
+ - lib/sdl2/ttf.rb
208
+ - lib/sdl2/ttf/sdl_ttf_module.rb
205
209
  - lib/sdl2/version.rb
206
210
  - lib/sdl2/video.rb
207
211
  - lib/sdl2/window.rb
208
212
  - lib/sdl2_ffi.rb
209
213
  - sdl2_ffi.gemspec
214
+ - test/fixtures/color_bars.jpg
210
215
  - test/test_helper.rb
211
216
  - test/unit/sdl2/test_assert.rb
212
217
  - test/unit/sdl2/test_audio.rb
@@ -216,9 +221,12 @@ files:
216
221
  - test/unit/sdl2/test_events.rb
217
222
  - test/unit/sdl2/test_haptic.rb
218
223
  - test/unit/sdl2/test_hints.rb
224
+ - test/unit/sdl2/test_image.rb
219
225
  - test/unit/sdl2/test_init.rb
220
226
  - test/unit/sdl2/test_keyboard.rb
221
227
  - test/unit/sdl2/test_log.rb
228
+ - test/unit/sdl2/test_palette.rb
229
+ - test/unit/sdl2/test_pixel_format.rb
222
230
  - test/unit/sdl2/test_pixels.rb
223
231
  - test/unit/sdl2/test_power.rb
224
232
  - test/unit/sdl2/test_rect.rb
@@ -226,9 +234,11 @@ files:
226
234
  - test/unit/sdl2/test_surface.rb
227
235
  - test/unit/sdl2/test_syswm.rb
228
236
  - test/unit/sdl2/test_timer.rb
237
+ - test/unit/sdl2/test_ttf.rb
229
238
  - test/unit/sdl2/test_version.rb
230
239
  - test/unit/sdl2/test_video.rb
231
240
  - test/unit/sdl2/test_window.rb
241
+ - test/unit/test_scratch.rb
232
242
  - test/unit/test_sdl2.rb
233
243
  homepage: https://github.com/BadQuanta/sdl2_ffi
234
244
  licenses:
@@ -255,6 +265,7 @@ signing_key:
255
265
  specification_version: 4
256
266
  summary: Object Oriented wrapper for SDL2. Help me test & debug my interface.
257
267
  test_files:
268
+ - test/fixtures/color_bars.jpg
258
269
  - test/test_helper.rb
259
270
  - test/unit/sdl2/test_assert.rb
260
271
  - test/unit/sdl2/test_audio.rb
@@ -264,9 +275,12 @@ test_files:
264
275
  - test/unit/sdl2/test_events.rb
265
276
  - test/unit/sdl2/test_haptic.rb
266
277
  - test/unit/sdl2/test_hints.rb
278
+ - test/unit/sdl2/test_image.rb
267
279
  - test/unit/sdl2/test_init.rb
268
280
  - test/unit/sdl2/test_keyboard.rb
269
281
  - test/unit/sdl2/test_log.rb
282
+ - test/unit/sdl2/test_palette.rb
283
+ - test/unit/sdl2/test_pixel_format.rb
270
284
  - test/unit/sdl2/test_pixels.rb
271
285
  - test/unit/sdl2/test_power.rb
272
286
  - test/unit/sdl2/test_rect.rb
@@ -274,7 +288,9 @@ test_files:
274
288
  - test/unit/sdl2/test_surface.rb
275
289
  - test/unit/sdl2/test_syswm.rb
276
290
  - test/unit/sdl2/test_timer.rb
291
+ - test/unit/sdl2/test_ttf.rb
277
292
  - test/unit/sdl2/test_version.rb
278
293
  - test/unit/sdl2/test_video.rb
279
294
  - test/unit/sdl2/test_window.rb
295
+ - test/unit/test_scratch.rb
280
296
  - test/unit/test_sdl2.rb