sourcemap 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +6 -0
- data/Gemfile +2 -0
- data/LICENSE +22 -0
- data/README.md +173 -0
- data/Rakefile +9 -0
- data/examples/bar.coffee +10 -0
- data/examples/bar.js +27 -0
- data/examples/bar.map +10 -0
- data/examples/foo.coffee +28 -0
- data/examples/foo.js +48 -0
- data/examples/foo.map +10 -0
- data/examples/foo.min.js +2 -0
- data/examples/foo.min.map +1 -0
- data/examples/foobar.html +6 -0
- data/examples/foobar.js +77 -0
- data/examples/foobar.map +1 -0
- data/lib/source_map.rb +4 -0
- data/lib/source_map/map.rb +219 -0
- data/lib/source_map/offset.rb +84 -0
- data/lib/source_map/version.rb +3 -0
- data/lib/source_map/vlq.rb +98 -0
- data/lib/sourcemap.rb +1 -0
- data/sourcemap.gemspec +24 -0
- data/test/test_map.rb +178 -0
- data/test/test_offset.rb +60 -0
- data/test/test_vlq.rb +62 -0
- metadata +117 -0
data/test/test_offset.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'source_map/offset'
|
3
|
+
|
4
|
+
class TestOffset < MiniTest::Unit::TestCase
|
5
|
+
include SourceMap
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@offset = Offset.new(1, 5)
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_equal
|
12
|
+
assert Offset.new(1, 5) == @offset
|
13
|
+
assert Offset.new(1, 6) != @offset
|
14
|
+
assert Offset.new(2, 5) != @offset
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_from_array
|
18
|
+
assert Offset.new(1, 5) == Offset.new([1, 5])
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_from_offset
|
22
|
+
assert @offset == Offset.new(@offset)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_line
|
26
|
+
assert_equal 1, @offset.line
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_column
|
30
|
+
assert_equal 5, @offset.column
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_to_s
|
34
|
+
assert_equal "1:5", @offset.to_s
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_inspect
|
38
|
+
assert_equal "#<SourceMap::Offset line=1, column=5>", @offset.inspect
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_add_offset
|
42
|
+
offset = @offset + Offset.new(2, 1)
|
43
|
+
assert_equal 3, offset.line
|
44
|
+
assert_equal 6, offset.column
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_add_line
|
48
|
+
offset = @offset + 5
|
49
|
+
assert_equal 6, offset.line
|
50
|
+
assert_equal 5, offset.column
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_compare
|
54
|
+
assert @offset < Offset.new(2, 0)
|
55
|
+
assert @offset < Offset.new(1, 6)
|
56
|
+
assert @offset > Offset.new(1, 4)
|
57
|
+
assert @offset >= Offset.new(1, 5)
|
58
|
+
assert @offset <= Offset.new(1, 5)
|
59
|
+
end
|
60
|
+
end
|
data/test/test_vlq.rb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'source_map/vlq'
|
3
|
+
|
4
|
+
class TestVLQ < MiniTest::Unit::TestCase
|
5
|
+
include SourceMap
|
6
|
+
|
7
|
+
TESTS = {
|
8
|
+
'A' => [0],
|
9
|
+
'C' => [1],
|
10
|
+
'D' => [-1],
|
11
|
+
'E' => [2],
|
12
|
+
'F' => [-2],
|
13
|
+
'K' => [5],
|
14
|
+
'L' => [-5],
|
15
|
+
'w+B' => [1000],
|
16
|
+
'x+B' => [-1000],
|
17
|
+
'gqjG' => [100000],
|
18
|
+
'hqjG' => [-100000],
|
19
|
+
'AAgBC' => [0, 0, 16, 1],
|
20
|
+
'AAgCgBC' => [0, 0, 32, 16, 1],
|
21
|
+
'DFLx+BhqjG' => [-1, -2, -5, -1000, -100000],
|
22
|
+
'CEKw+BgqjG' => [1, 2, 5, 1000, 100000]
|
23
|
+
}
|
24
|
+
|
25
|
+
MAP_TESTS = {
|
26
|
+
'AA,AA;;AACDE' => [[[0, 0], [0, 0]], [], [[0, 0, 1, -1, 2]]],
|
27
|
+
';;;;EAEE,EAAE,EAAC,CAAE;ECQY,UACC' => [[], [], [], [], [[2, 0, 2, 2], [2, 0, 0, 2], [2, 0, 0, 1], [1, 0, 0, 2]], [[2, 1, 8, 12], [10, 0, 1, 1]]],
|
28
|
+
'AAEAA,QAASA,MAAK,EAAG,CACfC,OAAAC,IAAA,CAAY,eAAZ,CADe' => [[[0, 0, 2, 0, 0], [8, 0, 0, 9, 0], [6, 0, 0, 5], [2, 0, 0, 3], [1, 0, 1, -15, 1], [7, 0, 0, 0, 1], [4, 0, 0, 0], [1, 0, 0, 12], [15, 0, 0, -12], [1, 0, -1, 15]]],
|
29
|
+
';;;;;EACAA;;EACAC;;EAGA;IAAA;;;EAGAC;IAAS;;;EAGTC;;EAGAC;IACE;IACA;IACA;MAAQ;;;;EAGVC;;;IACE;;;EAGF;IAAA;;;EAGAC;;;IAAQ;;MAAA' => [[], [], [], [], [], [[2, 0, 1, 0, 0]], [], [[2, 0, 1, 0, 1]], [], [[2, 0, 3, 0]], [[4, 0, 0, 0]], [], [], [[2, 0, 3, 0, 1]], [[4, 0, 0, 9]], [], [], [[2, 0, 3, -9, 1]], [], [[2, 0, 3, 0, 1]], [[4, 0, 1, 2]], [[4, 0, 1, 0]], [[4, 0, 1, 0]], [[6, 0, 0, 8]], [], [], [], [[2, 0, 3, -10, 1]], [], [], [[4, 0, 1, 2]], [], [], [[2, 0, 3, -2]], [[4, 0, 0, 0]], [], [], [[2, 0, 3, 0, 1]], [], [], [[4, 0, 0, 8]], [], [[6, 0, 0, 0]]],
|
30
|
+
'AACC,SAAQ,EAAG,CAAA,IACCA,CADD,CACOC,CADP,CACaC,CADb,CAC0CC,CAWpDA,EAAA,CAASA,QAAQ,CAACC,CAAD,CAAI,CACnB,MAAOA,EAAP,CAAWA,CADQ,CAIrBJ,EAAA,CAAO,CAAC,CAAD,CAAI,CAAJ,CAAO,CAAP,CAAU,CAAV,CAAa,CAAb,CAEPC,EAAA,CAAO,MACCI,IAAAC,KADD,QAEGH,CAFH,MAGCI,QAAQ,CAACH,CAAD,CAAI,CAChB,MAAOA,EAAP,CAAWD,CAAA,CAAOC,CAAP,CADK,CAHb,CAcc,YAArB,GAAI,MAAOI,MAAX,EAA8C,IAA9C,GAAoCA,KAApC,EACEC,KAAA,CAAM,YAAN,CAGO,UAAQ,EAAG,CAAA,IACdC,CADc,CACVC,CADU,CACJC,CACdA,EAAA,CAAW,EACNF,EAAA,CAAK,CAAV,KAAaC,CAAb,CAAoBX,CAAAa,OAApB,CAAiCH,CAAjC,CAAsCC,CAAtC,CAA4CD,CAAA,EAA5C,CACER,CACA,CADMF,CAAA,CAAKU,CAAL,CACN,CAAAE,CAAAE,KAAA,CAAcb,CAAAM,KAAA,CAAUL,CAAV,CAAd,CAEF,OAAOU,EAPW,CAAX,CAAA,EApCC,CAAX,CAAAG,KAAA,CA8CO,IA9CP' => [[[0, 0, 1, 1], [9, 0, 0, 8], [2, 0, 0, 3], [1, 0, 0, 0], [4, 0, 1, 1, 0], [1, 0, -1, -1], [1, 0, 1, 7, 1], [1, 0, -1, -7], [1, 0, 1, 13, 1], [1, 0, -1, -13], [1, 0, 1, 42, 1], [1, 0, 11, -52, 0], [2, 0, 0, 0], [1, 0, 0, 9, 0], [8, 0, 0, 8], [1, 0, 0, 1, 1], [1, 0, 0, -1], [1, 0, 0, 4], [1, 0, 1, -19], [6, 0, 0, 7, 0], [2, 0, 0, -7], [1, 0, 0, 11, 0], [1, 0, -1, 8], [1, 0, 4, -21, -4], [2, 0, 0, 0], [1, 0, 0, 7], [1, 0, 0, 1], [1, 0, 0, -1], [1, 0, 0, 4], [1, 0, 0, -4], [1, 0, 0, 7], [1, 0, 0, -7], [1, 0, 0, 10], [1, 0, 0, -10], [1, 0, 0, 13], [1, 0, 0, -13], [1, 0, 2, -7, 1], [2, 0, 0, 0], [1, 0, 0, 7], [6, 0, 1, 1, 4], [4, 0, 0, 0, 1], [5, 0, -1, -1], [8, 0, 2, 3, -3], [1, 0, -2, -3], [6, 0, 3, 1, 4], [8, 0, 0, 8], [1, 0, 0, 1, -3], [1, 0, 0, -1], [1, 0, 0, 4], [1, 0, 1, -16], [6, 0, 0, 7, 0], [2, 0, 0, -7], [1, 0, 0, 11, -1], [1, 0, 0, 0], [1, 0, 0, 7, 1], [1, 0, 0, -7], [1, 0, -1, 5], [1, 0, -3, -13], [1, 0, 14, 14], [12, 0, 0, -21], [3, 0, 0, 4], [6, 0, 0, 7, 4], [6, 0, 0, -11], [2, 0, 0, 46], [4, 0, 0, -46], [3, 0, 0, 36, 0], [5, 0, 0, -36], [2, 0, 1, 2, 1], [5, 0, 0, 0], [1, 0, 0, 6], [12, 0, 0, -6], [1, 0, 3, 7], [10, 0, 0, 8], [2, 0, 0, 3], [1, 0, 0, 0], [4, 0, 1, -14, 1], [1, 0, -1, 14], [1, 0, 1, -10, 1], [1, 0, -1, 10], [1, 0, 1, -4, 1], [1, 0, 1, -14, 0], [2, 0, 0, 0], [1, 0, 0, 11], [2, 0, 1, -6, -2], [2, 0, 0, 0], [1, 0, 0, 5], [1, 0, 0, -10], [5, 0, 0, 13, 1], [1, 0, 0, -13], [1, 0, 0, 20, -11], [1, 0, 0, 0, 13], [7, 0, 0, -20], [1, 0, 0, 33, -3], [1, 0, 0, -33], [1, 0, 0, 38, 1], [1, 0, 0, -38], [1, 0, 0, 44, -1], [1, 0, 0, 0], [2, 0, 0, -44], [1, 0, 1, 2, -8], [1, 0, 1, 0], [1, 0, -1, 6, -2], [1, 0, 0, 0], [1, 0, 0, 5, 10], [1, 0, 0, -5], [1, 0, 1, -6], [1, 0, 0, 0, 2], [1, 0, 0, 0, 2], [5, 0, 0, 0], [1, 0, 0, 14, -13], [1, 0, 0, 0, 6], [5, 0, 0, 0], [1, 0, 0, 10, -5], [1, 0, 0, -10], [1, 0, 0, -14], [1, 0, 2, -2], [7, 0, 0, 7, 10], [2, 0, -7, 11], [1, 0, 0, -11], [1, 0, 0, 0], [2, 0, -36, 1], [1, 0, 0, -11], [1, 0, 0, 0, 3], [5, 0, 0, 0], [1, 0, 46, 7], [4, 0, -46, -7]]]
|
31
|
+
}
|
32
|
+
|
33
|
+
def test_encode
|
34
|
+
TESTS.each do |str, int|
|
35
|
+
assert_equal str, VLQ.encode(int)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_decode
|
40
|
+
TESTS.each do |str, int|
|
41
|
+
assert_equal int, VLQ.decode(str)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_encode_decode
|
46
|
+
(-255..255).each do |int|
|
47
|
+
assert_equal [int], VLQ.decode(VLQ.encode([int]))
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_encode_mappings
|
52
|
+
MAP_TESTS.each do |str, ary|
|
53
|
+
assert_equal str, VLQ.encode_mappings(ary)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_decode_mappings
|
58
|
+
MAP_TESTS.each do |str, ary|
|
59
|
+
assert_equal ary, VLQ.decode_mappings(str)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
metadata
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sourcemap
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Josh Peek
|
8
|
+
- Alex MacCaw
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-08-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ~>
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.3'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '1.3'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rake
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: minitest
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
description: Ruby source maps
|
57
|
+
email:
|
58
|
+
- alex@alexmaccaw.com
|
59
|
+
executables: []
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- .gitignore
|
64
|
+
- .travis.yml
|
65
|
+
- Gemfile
|
66
|
+
- LICENSE
|
67
|
+
- README.md
|
68
|
+
- Rakefile
|
69
|
+
- examples/bar.coffee
|
70
|
+
- examples/bar.js
|
71
|
+
- examples/bar.map
|
72
|
+
- examples/foo.coffee
|
73
|
+
- examples/foo.js
|
74
|
+
- examples/foo.map
|
75
|
+
- examples/foo.min.js
|
76
|
+
- examples/foo.min.map
|
77
|
+
- examples/foobar.html
|
78
|
+
- examples/foobar.js
|
79
|
+
- examples/foobar.map
|
80
|
+
- lib/source_map.rb
|
81
|
+
- lib/source_map/map.rb
|
82
|
+
- lib/source_map/offset.rb
|
83
|
+
- lib/source_map/version.rb
|
84
|
+
- lib/source_map/vlq.rb
|
85
|
+
- lib/sourcemap.rb
|
86
|
+
- sourcemap.gemspec
|
87
|
+
- test/test_map.rb
|
88
|
+
- test/test_offset.rb
|
89
|
+
- test/test_vlq.rb
|
90
|
+
homepage: http://github.com/maccman/sourcemap
|
91
|
+
licenses:
|
92
|
+
- MIT
|
93
|
+
metadata: {}
|
94
|
+
post_install_message:
|
95
|
+
rdoc_options: []
|
96
|
+
require_paths:
|
97
|
+
- lib
|
98
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - '>='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - '>='
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
108
|
+
requirements: []
|
109
|
+
rubyforge_project:
|
110
|
+
rubygems_version: 2.0.3
|
111
|
+
signing_key:
|
112
|
+
specification_version: 4
|
113
|
+
summary: Ruby source maps
|
114
|
+
test_files:
|
115
|
+
- test/test_map.rb
|
116
|
+
- test/test_offset.rb
|
117
|
+
- test/test_vlq.rb
|