framecurve 1.0.1 → 1.0.2

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.
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "framecurve"
8
- s.version = "1.0.1"
8
+ s.version = "1.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Julik"]
@@ -1,5 +1,5 @@
1
1
  module Framecurve
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
 
4
4
  # Is raised when a malformed framecurve bit has occurred in the system
5
5
  class Malformed < RuntimeError
@@ -62,6 +62,19 @@ class Framecurve::Validator
62
62
  end
63
63
  end
64
64
 
65
+ def verify_non_negative_source_and_destination_frames(curve)
66
+ curve.each_with_index do | t, i |
67
+ next unless t.tuple?
68
+
69
+ line_no = i + 1
70
+ if t.at < 0
71
+ @errors.push("The tuple %d had a negative at_frame value (%d). The spec mandates positive frames." % [line_no, t.at])
72
+ elsif t.value < 0
73
+ @errors.push("The tuple %d had a negative use_frame_of_source value (%.5f). The spec mandates positive frames." % [line_no, t.value])
74
+ end
75
+ end
76
+ end
77
+
65
78
  def verify_file_naming(curve)
66
79
  return unless curve.respond_to?(:filename) && curve.filename
67
80
  unless curve.filename =~ /\.framecurve\.txt$/
@@ -75,4 +75,14 @@ class TestFramecurveValidator < Test::Unit::TestCase
75
75
  assert v.any_errors?
76
76
  assert_equal ["The frame sequencing is out of order (expected [1, 10] but got [10, 1]). The framecurve spec mandates that frames are recorded sequentially"], v.errors
77
77
  end
78
+
79
+ def test_should_error_out_with_neg_source_and_dest_values
80
+ c = Framecurve::Curve.new( Framecurve::Tuple.new(-10, 123.4), Framecurve::Tuple.new(1, -345.67) )
81
+ v = Framecurve::Validator.new
82
+ v.validate(c)
83
+ assert v.any_errors?
84
+ errs = ["The tuple 1 had a negative at_frame value (-10). The spec mandates positive frames.",
85
+ "The tuple 2 had a negative use_frame_of_source value (-345.67000). The spec mandates positive frames."]
86
+ assert_equal errs, v.errors
87
+ end
78
88
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: framecurve
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: term-ansicolor
16
- requirement: &10821110 !ruby/object:Gem::Requirement
16
+ requirement: &10767710 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *10821110
24
+ version_requirements: *10767710
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jeweler
27
- requirement: &10820040 !ruby/object:Gem::Requirement
27
+ requirement: &10767420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.6.4
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *10820040
35
+ version_requirements: *10767420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &10817530 !ruby/object:Gem::Requirement
38
+ requirement: &10767130 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *10817530
46
+ version_requirements: *10767130
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: cli_test
49
- requirement: &10816550 !ruby/object:Gem::Requirement
49
+ requirement: &10766770 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *10816550
57
+ version_requirements: *10766770
58
58
  description: ! ' Parser, validation and interpolation'
59
59
  email: me@julik.nl
60
60
  executables: