packr 1.0.0
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/README +83 -0
- data/lib/packr/regexp_group.rb +122 -0
- data/lib/packr/words.rb +84 -0
- data/lib/packr.rb +227 -0
- data/lib/string.rb +5 -0
- data/test/assets/packed/controls.js +1 -0
- data/test/assets/packed/dragdrop.js +1 -0
- data/test/assets/packed/effects.js +1 -0
- data/test/assets/packed/prototype.js +1 -0
- data/test/assets/packed/prototype_shrunk.js +1 -0
- data/test/assets/src/controls.js +833 -0
- data/test/assets/src/dragdrop.js +942 -0
- data/test/assets/src/effects.js +1088 -0
- data/test/assets/src/prototype.js +2515 -0
- data/test/packr_test.rb +57 -0
- metadata +66 -0
data/test/packr_test.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'packr'
|
3
|
+
|
4
|
+
class PackrTest < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
dir = File.dirname(__FILE__) + '/assets'
|
8
|
+
@data = {
|
9
|
+
:default => [{
|
10
|
+
:source => File.read("#{dir}/src/controls.js"),
|
11
|
+
:packed => File.read("#{dir}/packed/controls.js")
|
12
|
+
}],
|
13
|
+
:shrink_vars => [{
|
14
|
+
:source => File.read("#{dir}/src/dragdrop.js"),
|
15
|
+
:packed => File.read("#{dir}/packed/dragdrop.js")
|
16
|
+
},
|
17
|
+
{ :source => File.read("#{dir}/src/prototype.js"),
|
18
|
+
:packed => File.read("#{dir}/packed/prototype_shrunk.js")
|
19
|
+
}],
|
20
|
+
:base62 => [{
|
21
|
+
:source => File.read("#{dir}/src/effects.js"),
|
22
|
+
:packed => File.read("#{dir}/packed/effects.js")
|
23
|
+
}],
|
24
|
+
:base62_shrink_vars => [{
|
25
|
+
:source => File.read("#{dir}/src/prototype.js"),
|
26
|
+
:packed => File.read("#{dir}/packed/prototype.js")
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_basic_packing
|
32
|
+
assert_equal @data[:default][0][:packed], Packr.pack(@data[:default][0][:source])
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_shrink_vars_packing
|
36
|
+
assert_equal @data[:shrink_vars][0][:packed], Packr.pack(@data[:shrink_vars][0][:source], :shrink_vars => true)
|
37
|
+
assert_equal @data[:shrink_vars][1][:packed], Packr.pack(@data[:shrink_vars][1][:source], :shrink_vars => true)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_base62_packing
|
41
|
+
expected = @data[:base62][0][:packed]
|
42
|
+
actual = Packr.pack(@data[:base62][0][:source], :base62 => true)
|
43
|
+
assert_equal expected.size, actual.size
|
44
|
+
expected_words = expected.scan(/'[\w\|]+'/)[-2].gsub(/^'(.*?)'$/, '\1').split("|").sort
|
45
|
+
actual_words = actual.scan(/'[\w\|]+'/)[-2].gsub(/^'(.*?)'$/, '\1').split("|").sort
|
46
|
+
assert expected_words.eql?(actual_words)
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_base62_and_shrink_vars_packing
|
50
|
+
expected = @data[:base62_shrink_vars][0][:packed]
|
51
|
+
actual = Packr.pack(@data[:base62_shrink_vars][0][:source], :base62 => true, :shrink_vars => true)
|
52
|
+
assert_equal expected.size, actual.size
|
53
|
+
expected_words = expected.scan(/'[\w\|]+'/)[-2].gsub(/^'(.*?)'$/, '\1').split("|").sort
|
54
|
+
actual_words = actual.scan(/'[\w\|]+'/)[-2].gsub(/^'(.*?)'$/, '\1').split("|").sort
|
55
|
+
assert expected_words.eql?(actual_words)
|
56
|
+
end
|
57
|
+
end
|
metadata
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.9.4
|
3
|
+
specification_version: 1
|
4
|
+
name: packr
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 1.0.0
|
7
|
+
date: 2007-12-04 00:00:00 +00:00
|
8
|
+
summary: A Ruby port of Dean Edwards' JavaScript compressor
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email: james@jcoglan.com
|
12
|
+
homepage: http://blog.jcoglan.com/packr/
|
13
|
+
rubyforge_project:
|
14
|
+
description:
|
15
|
+
autorequire: lib/packr.rb
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: true
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
24
|
+
version:
|
25
|
+
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
post_install_message:
|
29
|
+
authors:
|
30
|
+
- James Coglan
|
31
|
+
files:
|
32
|
+
- lib/packr
|
33
|
+
- lib/packr.rb
|
34
|
+
- lib/string.rb
|
35
|
+
- lib/packr/regexp_group.rb
|
36
|
+
- lib/packr/words.rb
|
37
|
+
- README
|
38
|
+
test_files:
|
39
|
+
- test/assets
|
40
|
+
- test/packr_test.rb
|
41
|
+
- test/assets/packed
|
42
|
+
- test/assets/src
|
43
|
+
- test/assets/packed/controls.js
|
44
|
+
- test/assets/packed/dragdrop.js
|
45
|
+
- test/assets/packed/effects.js
|
46
|
+
- test/assets/packed/prototype.js
|
47
|
+
- test/assets/packed/prototype_shrunk.js
|
48
|
+
- test/assets/src/controls.js
|
49
|
+
- test/assets/src/dragdrop.js
|
50
|
+
- test/assets/src/effects.js
|
51
|
+
- test/assets/src/prototype.js
|
52
|
+
rdoc_options:
|
53
|
+
- --main
|
54
|
+
- README
|
55
|
+
- --line-numbers
|
56
|
+
- --inline-source
|
57
|
+
extra_rdoc_files:
|
58
|
+
- README
|
59
|
+
executables: []
|
60
|
+
|
61
|
+
extensions: []
|
62
|
+
|
63
|
+
requirements: []
|
64
|
+
|
65
|
+
dependencies: []
|
66
|
+
|