processing 0.5.31 → 0.5.33

Sign up to get free protection for your applications and to get access to all the features.
data/test/p5.rb CHANGED
@@ -13,7 +13,7 @@ def browser(width, height, headless: true)
13
13
  hash[key] ||= Ferrum::Browser.new headless: headless, window_size: [width, height]
14
14
  end
15
15
 
16
- def get_p5rb_html(width, height, draw_src)
16
+ def get_p5rb_html(width, height, draw_src, webgl: false)
17
17
  <<~END
18
18
  <html>
19
19
  <head>
@@ -34,9 +34,10 @@ def get_p5rb_html(width, height, draw_src)
34
34
  </script>
35
35
  <script type="text/ruby">
36
36
  def setup()
37
- createCanvas #{width}, #{height}
37
+ createCanvas #{width}, #{height}#{webgl ? ', WEBGL' : ''}
38
38
  end
39
39
  def draw()
40
+ #{webgl ? 'translate -width / 2, -height / 2' : ''}
40
41
  #{draw_src}
41
42
  JS.global.completed
42
43
  end
@@ -48,7 +49,7 @@ def get_p5rb_html(width, height, draw_src)
48
49
  END
49
50
  end
50
51
 
51
- def sleep_until (try: 3, timeout: 10, &block)
52
+ def sleep_until(try: 3, timeout: 10, &block)
52
53
  now = -> offset = 0 {Time.now.to_f + offset}
53
54
  limit = now[timeout]
54
55
  until block.call
@@ -62,11 +63,11 @@ def sleep_until (try: 3, timeout: 10, &block)
62
63
  end
63
64
  end
64
65
 
65
- def draw_p5rb(width, height, draw_src, path, headless: true)
66
+ def draw_p5rb(width, height, draw_src, path, headless: true, webgl: false)
66
67
  b = browser width, height, headless: headless
67
68
  unless File.exist? path
68
69
  b.reset
69
- b.main_frame.content = get_p5rb_html width, height, draw_src
70
+ b.main_frame.content = get_p5rb_html width, height, draw_src, webgl: webgl
70
71
  sleep_until do
71
72
  b.evaluate 'document.querySelector("#completed") != null'
72
73
  end
data/test/test_font.rb CHANGED
@@ -5,12 +5,43 @@ class TestFont < Test::Unit::TestCase
5
5
 
6
6
  P = Processing
7
7
 
8
- def font()
9
- P::Font.new Rays::Font.new(nil, 10)
8
+ def font(*args)
9
+ P::Font.new(Rays::Font.new(*args)).tap {|font|
10
+ def font.intern()
11
+ getInternal__
12
+ end
13
+ }
14
+ end
15
+
16
+ def test_initialize()
17
+ assert_not_nil font(nil) .intern.name
18
+ assert_equal 'Arial', font('Arial').intern.name
19
+
20
+ assert_equal 12, font .intern.size
21
+ assert_equal 10, font(nil, 10).intern.size
22
+ end
23
+
24
+ def test_size()
25
+ f = font nil, 10
26
+ id = f.intern.object_id
27
+
28
+ assert_equal 10, f.intern.size
29
+
30
+ f.setSize__ 11
31
+ assert_equal 11, f.intern.size
32
+ assert_not_equal id, f.intern.object_id
33
+
34
+ f.setSize__ 10
35
+ assert_equal 10, f.intern.size
36
+ assert_equal id, f.intern.object_id
10
37
  end
11
38
 
12
39
  def test_inspect()
13
40
  assert_match %r|#<Processing::Font: name:'[\w\s]+' size:[\d\.]+>|, font.inspect
14
41
  end
15
42
 
43
+ def test_list()
44
+ assert_not P::Font.list.empty?
45
+ end
46
+
16
47
  end# TestFont