tracksperanto 2.6.0 → 2.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,86 +2,6 @@ require File.expand_path(File.dirname(__FILE__)) + '/../helper'
2
2
 
3
3
  class FlameImportTest < Test::Unit::TestCase
4
4
  DELTA = 0.1
5
- BLOCK_WITH_NO_KF = %{Channel tracker1/ref/width
6
- Extrapolation constant
7
- Value 10
8
- Colour 50 50 50
9
- End
10
- }
11
- BLOCK_WITH_KEYFRAMES = %{
12
- Channel tracker1/ref/dx
13
- Extrapolation constant
14
- Value 0
15
- Size 5
16
- KeyVersion 1
17
- Key 0
18
- Frame 0
19
- Value 0
20
- ValueLock yes
21
- DeleteLock yes
22
- Interpolation constant
23
- End
24
- Key 1
25
- Frame 1
26
- Value 0
27
- Interpolation constant
28
- RightSlope -1.9947
29
- LeftSlope -1.9947
30
- End
31
- Key 2
32
- Frame 44
33
- Value -87.7668
34
- FrameLock yes
35
- Interpolation constant
36
- RightSlope -2.31503
37
- LeftSlope -2.31503
38
- End
39
- Key 3
40
- Frame 74
41
- Value -168.997
42
- FrameLock yes
43
- Interpolation constant
44
- RightSlope -2.24203
45
- LeftSlope -2.24203
46
- End
47
- Key 4
48
- Frame 115
49
- Value -246.951
50
- FrameLock yes
51
- Interpolation constant
52
- End
53
- Colour 50 50 50
54
- End
55
- }
56
-
57
- def test_channel_block_for_channel_without_keyframes
58
- io = StringIO.new(BLOCK_WITH_NO_KF)
59
- first_line = io.gets
60
- name = "foo/bar"
61
- c = Tracksperanto::Import::FlameStabilizer::ChannelBlock.new(io, name)
62
-
63
- assert_equal 0, c.length
64
- assert_in_delta 10.0, c.base_value, DELTA
65
- end
66
-
67
- def test_channel_block_for_channel_with_5_keyframes
68
- io = StringIO.new(BLOCK_WITH_KEYFRAMES)
69
- first_line = io.gets
70
- name = "foo/bar"
71
- c = Tracksperanto::Import::FlameStabilizer::ChannelBlock.new(io, name)
72
-
73
- assert_equal 5, c.length
74
-
75
- first_key = c[0]
76
- assert_in_delta 0.0, first_key[1], DELTA
77
- assert_equal 0, first_key[0]
78
-
79
- key_four = c[4]
80
- assert_not_nil key_four, "The last keyframe should not be nil"
81
-
82
- assert_in_delta -246.951, key_four[1], DELTA
83
- assert_equal 115, key_four[0]
84
- end
85
5
 
86
6
  def test_parsing_from_flame
87
7
  fixture = File.open(File.dirname(__FILE__) + '/samples/flame_stabilizer/hugeFlameSetup.stabilizer')
@@ -165,4 +85,12 @@ class FlameImportTest < Test::Unit::TestCase
165
85
  assert_equal 5, trackers.length
166
86
  assert_equal 61, trackers[0].length
167
87
  end
88
+
89
+ # a failing setup from flame 2012
90
+ def test_from_flame2012
91
+ fixture = File.open(File.dirname(__FILE__) + '/samples/flame_stabilizer/flame_2012_another.stabilizer')
92
+ trackers = Tracksperanto::Import::FlameStabilizer.new(:io => fixture).to_a
93
+ assert_equal 1, trackers.length
94
+ assert_equal 100, trackers[0].length
95
+ end
168
96
  end
data/test/test_cli.rb CHANGED
@@ -44,6 +44,20 @@ class CliTest < Test::Unit::TestCase
44
44
  assert_same_set fs, Dir.entries(TEMP_DIR)
45
45
  end
46
46
 
47
+ def test_cli_with_nonexisting_only_exporter_prints_proper_error_message
48
+ status, o, e = cli("--only microsoftfuckingword " + TEMP_DIR + "/flm.stabilizer")
49
+ assert_equal 2, status, "Should exit with abnormal state"
50
+ assert e.include?("Unknown exporter \"microsoftfuckingword\"")
51
+ assert e.include?("The following export modules are available")
52
+ end
53
+
54
+ def test_cli_with_nonexisting_importer_prints_proper_error_message
55
+ status, o, e = cli("--from microsoftfuckingword " + TEMP_DIR + "/flm.stabilizer")
56
+ assert_equal 2, status, "Should exit with abnormal state"
57
+ assert e.include?("Unknown importer \"microsoftfuckingword\"")
58
+ assert e.include?("The following import modules are available")
59
+ end
60
+
47
61
  def test_cli_with_only_option
48
62
  FileUtils.cp(File.dirname(__FILE__) + "/import/samples/flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer", TEMP_DIR + "/flm.stabilizer")
49
63
  cli("#{BIN_P} --only syntheyes #{TEMP_DIR}/flm.stabilizer")
@@ -64,7 +64,15 @@ class TracksperantoTest < Test::Unit::TestCase
64
64
  end
65
65
 
66
66
  def test_get_unknown_exporter_should_raise
67
- assert_raise(NameError) { Tracksperanto.get_exporter("foo") }
67
+ assert_raise(Tracksperanto::UnknownExporterError) { Tracksperanto.get_exporter("foo") }
68
68
  end
69
-
69
+
70
+ def test_get_unknown_importer_should_raise
71
+ assert_raise(Tracksperanto::UnknownImporterError) { Tracksperanto.get_importer("foo") }
72
+ end
73
+
74
+ def test_get_unknown_middleware_should_raise
75
+ assert_raise(Tracksperanto::UnknownMiddlewareError) { Tracksperanto.get_middleware("foo") }
76
+ end
77
+
70
78
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: tracksperanto
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 2.6.0
5
+ version: 2.6.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Julik Tarkhanov
@@ -10,63 +10,74 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-07-11 00:00:00 Z
13
+ date: 2011-07-22 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: progressbar
16
+ name: flame_channel_parser
17
17
  prerelease: false
18
18
  requirement: &id001 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: "0.9"
23
+ version: "2.1"
24
24
  type: :runtime
25
25
  version_requirements: *id001
26
26
  - !ruby/object:Gem::Dependency
27
- name: update_hints
27
+ name: progressbar
28
28
  prerelease: false
29
29
  requirement: &id002 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: "1.0"
34
+ version: "0.9"
35
35
  type: :runtime
36
36
  version_requirements: *id002
37
37
  - !ruby/object:Gem::Dependency
38
- name: flexmock
38
+ name: update_hints
39
39
  prerelease: false
40
40
  requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: "1.0"
46
+ type: :runtime
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: flexmock
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
41
52
  none: false
42
53
  requirements:
43
54
  - - ~>
44
55
  - !ruby/object:Gem::Version
45
56
  version: "0.8"
46
57
  type: :development
47
- version_requirements: *id003
58
+ version_requirements: *id004
48
59
  - !ruby/object:Gem::Dependency
49
60
  name: cli_test
50
61
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
62
+ requirement: &id005 !ruby/object:Gem::Requirement
52
63
  none: false
53
64
  requirements:
54
65
  - - ~>
55
66
  - !ruby/object:Gem::Version
56
67
  version: "1.0"
57
68
  type: :development
58
- version_requirements: *id004
69
+ version_requirements: *id005
59
70
  - !ruby/object:Gem::Dependency
60
71
  name: hoe
61
72
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
73
+ requirement: &id006 !ruby/object:Gem::Requirement
63
74
  none: false
64
75
  requirements:
65
76
  - - ~>
66
77
  - !ruby/object:Gem::Version
67
78
  version: "2.10"
68
79
  type: :development
69
- version_requirements: *id005
80
+ version_requirements: *id006
70
81
  description: Tracksperanto is a universal 2D-track translator between many apps.
71
82
  email:
72
83
  - me@julik.nl
@@ -182,6 +193,7 @@ files:
182
193
  - test/import/samples/3de_v4/3de_export_cube.txt
183
194
  - test/import/samples/boujou_features_text/boujou_txt_export.txt
184
195
  - test/import/samples/flame_stabilizer/Flame_Stabilizer_2012.stabilizer
196
+ - test/import/samples/flame_stabilizer/flame_2012_another.stabilizer
185
197
  - test/import/samples/flame_stabilizer/fromCombustion_fromMidClip_wSnap.stabilizer
186
198
  - test/import/samples/flame_stabilizer/fromTracksperanto.stabilizer
187
199
  - test/import/samples/flame_stabilizer/hugeFlameSetup.stabilizer