tracksperanto 2.6.0 → 2.6.1
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/Gemfile +3 -2
- data/History.txt +6 -0
- data/Manifest.txt +1 -0
- data/Rakefile +2 -1
- data/bin/tracksperanto +26 -11
- data/lib/import/flame_stabilizer.rb +14 -113
- data/lib/tracksperanto.rb +9 -4
- data/test/import/samples/flame_stabilizer/flame_2012_another.stabilizer +2290 -0
- data/test/import/test_flame_import.rb +8 -80
- data/test/test_cli.rb +14 -0
- data/test/test_tracksperanto.rb +10 -2
- metadata +24 -12
@@ -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")
|
data/test/test_tracksperanto.rb
CHANGED
@@ -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(
|
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.
|
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-
|
13
|
+
date: 2011-07-22 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
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: "
|
23
|
+
version: "2.1"
|
24
24
|
type: :runtime
|
25
25
|
version_requirements: *id001
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
|
-
name:
|
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: "
|
34
|
+
version: "0.9"
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id002
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
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: *
|
58
|
+
version_requirements: *id004
|
48
59
|
- !ruby/object:Gem::Dependency
|
49
60
|
name: cli_test
|
50
61
|
prerelease: false
|
51
|
-
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: *
|
69
|
+
version_requirements: *id005
|
59
70
|
- !ruby/object:Gem::Dependency
|
60
71
|
name: hoe
|
61
72
|
prerelease: false
|
62
|
-
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: *
|
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
|