sourcemap 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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