angular_xss 0.2.2 → 0.4.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.
Files changed (98) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/test.yml +52 -0
  3. data/.rspec +1 -0
  4. data/.ruby-version +1 -0
  5. data/CHANGELOG.md +72 -0
  6. data/Gemfile +1 -0
  7. data/Gemfile.lock +1 -0
  8. data/Gemfile.rails-3.2 +9 -0
  9. data/Gemfile.rails-3.2.lock +91 -0
  10. data/Gemfile.rails-4.2.haml-4 +8 -0
  11. data/Gemfile.rails-4.2.haml-4.lock +88 -0
  12. data/Gemfile.rails-4.2.haml-5 +8 -0
  13. data/Gemfile.rails-4.2.haml-5.lock +90 -0
  14. data/Gemfile.rails-5.1.haml-4 +8 -0
  15. data/Gemfile.rails-5.1.haml-4.lock +85 -0
  16. data/Gemfile.rails-5.1.haml-5 +8 -0
  17. data/Gemfile.rails-5.1.haml-5.lock +87 -0
  18. data/Gemfile.rails-6.1.haml-5 +8 -0
  19. data/Gemfile.rails-6.1.haml-5.lock +90 -0
  20. data/README.md +12 -4
  21. data/Rakefile +3 -66
  22. data/lib/angular_xss/action_view.rb +2 -1
  23. data/lib/angular_xss/erb.rb +2 -1
  24. data/lib/angular_xss/escaper.rb +2 -2
  25. data/lib/angular_xss/haml.rb +27 -10
  26. data/lib/angular_xss/safe_buffer.rb +4 -3
  27. data/lib/angular_xss/version.rb +1 -1
  28. data/spec/{shared/tests → angular_xss}/erb_spec.rb +1 -1
  29. data/spec/{shared/tests → angular_xss}/haml_spec.rb +1 -1
  30. data/spec/angular_xss/safe_buffer_spec.rb +9 -0
  31. data/spec/spec_helper.rb +37 -0
  32. data/spec/{shared/support → support}/engine_preventing_angular_xss.rb +20 -8
  33. data/spec/{shared/app_root/app/views/test → templates}/_test_erb.erb +0 -0
  34. data/spec/{shared/app_root/app/views/test → templates}/_test_haml.haml +5 -3
  35. metadata +79 -204
  36. data/.travis.yml +0 -15
  37. data/spec/rails-2.3/Gemfile +0 -12
  38. data/spec/rails-2.3/Gemfile.lock +0 -62
  39. data/spec/rails-2.3/Rakefile +0 -11
  40. data/spec/rails-2.3/app_root/config/boot.rb +0 -129
  41. data/spec/rails-2.3/app_root/config/database.yml +0 -4
  42. data/spec/rails-2.3/app_root/config/environment.rb +0 -14
  43. data/spec/rails-2.3/app_root/config/environments/test.rb +0 -28
  44. data/spec/rails-2.3/app_root/config/preinitializer.rb +0 -20
  45. data/spec/rails-2.3/app_root/config/routes.rb +0 -4
  46. data/spec/rails-2.3/app_root/lib/console_with_fixtures.rb +0 -4
  47. data/spec/rails-2.3/app_root/log/.gitignore +0 -1
  48. data/spec/rails-2.3/app_root/script/console +0 -7
  49. data/spec/rails-2.3/rcov.opts +0 -2
  50. data/spec/rails-2.3/spec/spec_helper.rb +0 -20
  51. data/spec/rails-2.3/spec.opts +0 -4
  52. data/spec/rails-3.2/.rspec +0 -2
  53. data/spec/rails-3.2/Gemfile +0 -10
  54. data/spec/rails-3.2/Gemfile.lock +0 -129
  55. data/spec/rails-3.2/Rakefile +0 -10
  56. data/spec/rails-3.2/app_root/.gitignore +0 -4
  57. data/spec/rails-3.2/app_root/config/application.rb +0 -32
  58. data/spec/rails-3.2/app_root/config/boot.rb +0 -13
  59. data/spec/rails-3.2/app_root/config/database.yml +0 -4
  60. data/spec/rails-3.2/app_root/config/environment.rb +0 -5
  61. data/spec/rails-3.2/app_root/config/environments/test.rb +0 -35
  62. data/spec/rails-3.2/app_root/config/initializers/backtrace_silencers.rb +0 -7
  63. data/spec/rails-3.2/app_root/config/initializers/inflections.rb +0 -10
  64. data/spec/rails-3.2/app_root/config/initializers/mime_types.rb +0 -5
  65. data/spec/rails-3.2/app_root/config/initializers/secret_token.rb +0 -7
  66. data/spec/rails-3.2/app_root/config/initializers/session_store.rb +0 -8
  67. data/spec/rails-3.2/app_root/config/routes.rb +0 -58
  68. data/spec/rails-3.2/app_root/lib/tasks/.gitkeep +0 -0
  69. data/spec/rails-3.2/app_root/log/.gitkeep +0 -0
  70. data/spec/rails-3.2/app_root/script/rails +0 -6
  71. data/spec/rails-3.2/rcov.opts +0 -2
  72. data/spec/rails-3.2/spec/spec_helper.rb +0 -20
  73. data/spec/rails-4.2/.rspec +0 -2
  74. data/spec/rails-4.2/Gemfile +0 -10
  75. data/spec/rails-4.2/Gemfile.lock +0 -157
  76. data/spec/rails-4.2/Rakefile +0 -10
  77. data/spec/rails-4.2/app_root/.gitignore +0 -4
  78. data/spec/rails-4.2/app_root/config/application.rb +0 -34
  79. data/spec/rails-4.2/app_root/config/boot.rb +0 -13
  80. data/spec/rails-4.2/app_root/config/database.yml +0 -4
  81. data/spec/rails-4.2/app_root/config/environment.rb +0 -5
  82. data/spec/rails-4.2/app_root/config/environments/test.rb +0 -35
  83. data/spec/rails-4.2/app_root/config/initializers/backtrace_silencers.rb +0 -7
  84. data/spec/rails-4.2/app_root/config/initializers/inflections.rb +0 -10
  85. data/spec/rails-4.2/app_root/config/initializers/mime_types.rb +0 -5
  86. data/spec/rails-4.2/app_root/config/initializers/secret_token.rb +0 -7
  87. data/spec/rails-4.2/app_root/config/initializers/session_store.rb +0 -8
  88. data/spec/rails-4.2/app_root/config/routes.rb +0 -3
  89. data/spec/rails-4.2/app_root/lib/tasks/.gitkeep +0 -0
  90. data/spec/rails-4.2/app_root/log/.gitkeep +0 -0
  91. data/spec/rails-4.2/app_root/script/rails +0 -6
  92. data/spec/rails-4.2/rcov.opts +0 -2
  93. data/spec/rails-4.2/spec/spec_helper.rb +0 -27
  94. data/spec/shared/app_root/app/controllers/application_controller.rb +0 -2
  95. data/spec/shared/app_root/app/helpers/application_helper.rb +0 -3
  96. data/spec/shared/app_root/app/models/.gitkeep +0 -0
  97. data/spec/shared/app_root/config/database.yml +0 -4
  98. data/spec/shared/app_root/db/migrate/.gitkeep +0 -0
@@ -4,15 +4,16 @@ ActiveSupport::SafeBuffer.class_eval do
4
4
 
5
5
  private
6
6
 
7
- def html_escape_interpolated_argument_with_rails_xss(arg)
7
+ def html_escape_interpolated_argument_with_angular_xss(arg)
8
8
  if arg.html_safe?
9
9
  arg
10
10
  else
11
- html_escape_interpolated_argument_without_rails_xss(AngularXss::Escaper.escape(arg))
11
+ html_escape_interpolated_argument_without_angular_xss(AngularXss::Escaper.escape(arg))
12
12
  end
13
13
  end
14
14
 
15
- alias_method_chain :html_escape_interpolated_argument, :rails_xss
15
+ alias_method :html_escape_interpolated_argument_without_angular_xss, :html_escape_interpolated_argument
16
+ alias_method :html_escape_interpolated_argument, :html_escape_interpolated_argument_with_angular_xss
16
17
 
17
18
  end
18
19
 
@@ -1,3 +1,3 @@
1
1
  module AngularXss
2
- VERSION = '0.2.2'
2
+ VERSION = '0.4.0'
3
3
  end
@@ -2,6 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe 'Angular XSS prevention in ERB', :type => :view do
4
4
 
5
- it_should_act_like 'engine preventing Angular XSS', :partial => 'test/test_erb'
5
+ it_should_behave_like 'engine preventing Angular XSS', :partial => 'test_erb'
6
6
 
7
7
  end
@@ -2,6 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe 'Angular XSS prevention in Haml', :type => :view do
4
4
 
5
- it_should_act_like 'engine preventing Angular XSS', :partial => 'test/test_haml'
5
+ it_should_behave_like 'engine preventing Angular XSS', :partial => 'test_haml'
6
6
 
7
7
  end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActiveSupport::SafeBuffer do
4
+
5
+ it 'still allows concatting nil' do
6
+ expect { subject << nil }.to_not raise_error
7
+ end
8
+
9
+ end
@@ -0,0 +1,37 @@
1
+ require 'pathname'
2
+ require 'active_support/all'
3
+ require 'action_dispatch'
4
+ require 'action_view'
5
+
6
+ begin
7
+ # Rails 3.2
8
+ require 'rails'
9
+ rescue LoadError
10
+ # Rails 4+
11
+ end
12
+
13
+ module Rails
14
+ def self.env
15
+ 'test'.inquiry
16
+ end
17
+ end
18
+
19
+ require 'haml'
20
+ require 'haml/template'
21
+
22
+ require 'angular_xss'
23
+
24
+
25
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
26
+
27
+ TEMPLATE_ROOT = Pathname.new(__dir__).join('templates')
28
+
29
+
30
+ RSpec.configure do |config|
31
+ config.mock_with :rspec do |c|
32
+ c.syntax = [:should, :expect]
33
+ end
34
+ config.expect_with :rspec do |c|
35
+ c.syntax = [:should, :expect]
36
+ end
37
+ end
@@ -1,17 +1,23 @@
1
- shared_examples_for 'engine preventing Angular XSS' do
1
+ shared_examples_for 'engine preventing Angular XSS' do |partial:|
2
2
 
3
- let(:engine) { respond_to?(:view) ? view : template }
3
+ let(:path_set) { ActionView::LookupContext.new([TEMPLATE_ROOT]) }
4
+
5
+ if defined?(ActionView::VERSION) && ActionView::VERSION::MAJOR >= 6
6
+ let(:engine) { ActionView::Base.with_empty_template_cache.new(path_set, {}, nil) }
7
+ else
8
+ let(:engine) { ActionView::Base.new(path_set) }
9
+ end
4
10
 
5
11
  let(:html) { engine.render(partial) }
6
12
 
7
13
  it 'escapes Angular interpolation marks in unsafe strings' do
8
14
  html.should_not include('{{unsafe}}')
9
- html.should include(' { { unsafe}}')
15
+ html.should include('{{ $root.DOUBLE_LEFT_CURLY_BRACE }}unsafe}}')
10
16
  end
11
17
 
12
18
  it 'recognizes the many ways to express an opening curly brace in HTML' do
13
19
 
14
- html.should include(" { { unsafe}}")
20
+ html.should include("{{ $root.DOUBLE_LEFT_CURLY_BRACE }}unsafe}}")
15
21
  html.should_not include("{{unsafe}}")
16
22
 
17
23
  braces = [
@@ -37,7 +43,7 @@ shared_examples_for 'engine preventing Angular XSS' do
37
43
 
38
44
  it 'does not escape Angular interpolation marks in safe strings' do
39
45
  html.should include("{{safe}}")
40
- html.should_not include(" { { safe}}")
46
+ html.should_not include("{{ $root.DOUBLE_LEFT_CURLY_BRACE }}safe}}")
41
47
  end
42
48
 
43
49
  it 'does not escape Angular interpolation marks in a block where AngularXSS is disabled' do
@@ -47,7 +53,7 @@ shared_examples_for 'engine preventing Angular XSS' do
47
53
  end
48
54
 
49
55
  result.should include('{{unsafe}}')
50
- result.should_not include(' { { unsafe}}')
56
+ result.should_not include('{{ $root.DOUBLE_LEFT_CURLY_BRACE }}unsafe}}')
51
57
  end
52
58
 
53
59
  it 'does escape Angular interpolation marks after the block where AngularXSS is disabled' do
@@ -55,7 +61,7 @@ shared_examples_for 'engine preventing Angular XSS' do
55
61
  end
56
62
  result = html
57
63
 
58
- result.should include(' { { unsafe}}')
64
+ result.should include('{{ $root.DOUBLE_LEFT_CURLY_BRACE }}unsafe}}')
59
65
  result.should_not include('{{unsafe}}')
60
66
  end
61
67
 
@@ -68,8 +74,14 @@ shared_examples_for 'engine preventing Angular XSS' do
68
74
  end
69
75
  }.should raise_error(SomeException)
70
76
 
71
- html.should include(' { { unsafe}}')
77
+ html.should include('{{ $root.DOUBLE_LEFT_CURLY_BRACE }}unsafe}}')
72
78
  html.should_not include('{{unsafe}}')
73
79
  end
74
80
 
81
+ it 'does not escape twice' do
82
+ escaped = AngularXss::Escaper.escape('{{')
83
+ double_escaped = AngularXss::Escaper.escape(escaped)
84
+ html.should_not include(double_escaped)
85
+ end
86
+
75
87
  end
@@ -29,7 +29,9 @@
29
29
  %div{:class => '{{safe}}', :id => '{{safe}}'}
30
30
 
31
31
  -# Compiled at runtime:
32
- %div{:class => '{{unsafe}}', :id => '{{unsafe}}', :foo => rand}
33
- %div(bar="#{'{{unsafe}}'}")
34
- %div{:foo => '{{safe}}'.html_safe, :bar => '{{unsafe}}'}
32
+ - unsafe = '{{unsafe}}'
33
+ - safe = '{{safe}}'.html_safe
34
+ %div{:class => unsafe, :id => unsafe}
35
+ %div(bar="#{unsafe}")
36
+ %div{:foo => safe, :bar => unsafe}
35
37
  {{safe}}
metadata CHANGED
@@ -1,64 +1,69 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: angular_xss
3
- version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 2
10
- version: 0.2.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Henning Koch
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2015-04-17 00:00:00 +02:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
11
+ date: 2021-08-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
22
14
  name: activesupport
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
27
17
  - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
33
20
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: haml
37
21
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: haml
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
41
31
  - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 9
44
- segments:
45
- - 3
46
- - 1
47
- - 5
32
+ - !ruby/object:Gem::Version
48
33
  version: 3.1.5
49
34
  type: :runtime
50
- version_requirements: *id002
51
- description: Patches rails_xss and Haml so AngularJS interpolations are auto-escaped in unsafe strings.
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.1.5
41
+ description: Patches rails_xss and Haml so AngularJS interpolations are auto-escaped
42
+ in unsafe strings.
52
43
  email: henning.koch@makandra.de
53
44
  executables: []
54
-
55
45
  extensions: []
56
-
57
46
  extra_rdoc_files: []
58
-
59
- files:
60
- - .gitignore
61
- - .travis.yml
47
+ files:
48
+ - ".github/workflows/test.yml"
49
+ - ".gitignore"
50
+ - ".rspec"
51
+ - ".ruby-version"
52
+ - CHANGELOG.md
53
+ - Gemfile
54
+ - Gemfile.lock
55
+ - Gemfile.rails-3.2
56
+ - Gemfile.rails-3.2.lock
57
+ - Gemfile.rails-4.2.haml-4
58
+ - Gemfile.rails-4.2.haml-4.lock
59
+ - Gemfile.rails-4.2.haml-5
60
+ - Gemfile.rails-4.2.haml-5.lock
61
+ - Gemfile.rails-5.1.haml-4
62
+ - Gemfile.rails-5.1.haml-4.lock
63
+ - Gemfile.rails-5.1.haml-5
64
+ - Gemfile.rails-5.1.haml-5.lock
65
+ - Gemfile.rails-6.1.haml-5
66
+ - Gemfile.rails-6.1.haml-5.lock
62
67
  - LICENSE
63
68
  - README.md
64
69
  - Rakefile
@@ -70,172 +75,42 @@ files:
70
75
  - lib/angular_xss/haml.rb
71
76
  - lib/angular_xss/safe_buffer.rb
72
77
  - lib/angular_xss/version.rb
73
- - spec/rails-2.3/Gemfile
74
- - spec/rails-2.3/Gemfile.lock
75
- - spec/rails-2.3/Rakefile
76
- - spec/rails-2.3/app_root/config/boot.rb
77
- - spec/rails-2.3/app_root/config/database.yml
78
- - spec/rails-2.3/app_root/config/environment.rb
79
- - spec/rails-2.3/app_root/config/environments/test.rb
80
- - spec/rails-2.3/app_root/config/preinitializer.rb
81
- - spec/rails-2.3/app_root/config/routes.rb
82
- - spec/rails-2.3/app_root/lib/console_with_fixtures.rb
83
- - spec/rails-2.3/app_root/log/.gitignore
84
- - spec/rails-2.3/app_root/script/console
85
- - spec/rails-2.3/rcov.opts
86
- - spec/rails-2.3/spec.opts
87
- - spec/rails-2.3/spec/spec_helper.rb
88
- - spec/rails-3.2/.rspec
89
- - spec/rails-3.2/Gemfile
90
- - spec/rails-3.2/Gemfile.lock
91
- - spec/rails-3.2/Rakefile
92
- - spec/rails-3.2/app_root/.gitignore
93
- - spec/rails-3.2/app_root/config/application.rb
94
- - spec/rails-3.2/app_root/config/boot.rb
95
- - spec/rails-3.2/app_root/config/database.yml
96
- - spec/rails-3.2/app_root/config/environment.rb
97
- - spec/rails-3.2/app_root/config/environments/test.rb
98
- - spec/rails-3.2/app_root/config/initializers/backtrace_silencers.rb
99
- - spec/rails-3.2/app_root/config/initializers/inflections.rb
100
- - spec/rails-3.2/app_root/config/initializers/mime_types.rb
101
- - spec/rails-3.2/app_root/config/initializers/secret_token.rb
102
- - spec/rails-3.2/app_root/config/initializers/session_store.rb
103
- - spec/rails-3.2/app_root/config/routes.rb
104
- - spec/rails-3.2/app_root/lib/tasks/.gitkeep
105
- - spec/rails-3.2/app_root/log/.gitkeep
106
- - spec/rails-3.2/app_root/script/rails
107
- - spec/rails-3.2/rcov.opts
108
- - spec/rails-3.2/spec/spec_helper.rb
109
- - spec/rails-4.2/.rspec
110
- - spec/rails-4.2/Gemfile
111
- - spec/rails-4.2/Gemfile.lock
112
- - spec/rails-4.2/Rakefile
113
- - spec/rails-4.2/app_root/.gitignore
114
- - spec/rails-4.2/app_root/config/application.rb
115
- - spec/rails-4.2/app_root/config/boot.rb
116
- - spec/rails-4.2/app_root/config/database.yml
117
- - spec/rails-4.2/app_root/config/environment.rb
118
- - spec/rails-4.2/app_root/config/environments/test.rb
119
- - spec/rails-4.2/app_root/config/initializers/backtrace_silencers.rb
120
- - spec/rails-4.2/app_root/config/initializers/inflections.rb
121
- - spec/rails-4.2/app_root/config/initializers/mime_types.rb
122
- - spec/rails-4.2/app_root/config/initializers/secret_token.rb
123
- - spec/rails-4.2/app_root/config/initializers/session_store.rb
124
- - spec/rails-4.2/app_root/config/routes.rb
125
- - spec/rails-4.2/app_root/lib/tasks/.gitkeep
126
- - spec/rails-4.2/app_root/log/.gitkeep
127
- - spec/rails-4.2/app_root/script/rails
128
- - spec/rails-4.2/rcov.opts
129
- - spec/rails-4.2/spec/spec_helper.rb
130
- - spec/shared/app_root/app/controllers/application_controller.rb
131
- - spec/shared/app_root/app/helpers/application_helper.rb
132
- - spec/shared/app_root/app/models/.gitkeep
133
- - spec/shared/app_root/app/views/test/_test_erb.erb
134
- - spec/shared/app_root/app/views/test/_test_haml.haml
135
- - spec/shared/app_root/config/database.yml
136
- - spec/shared/app_root/db/migrate/.gitkeep
137
- - spec/shared/support/engine_preventing_angular_xss.rb
138
- - spec/shared/tests/erb_spec.rb
139
- - spec/shared/tests/haml_spec.rb
140
- has_rdoc: true
78
+ - spec/angular_xss/erb_spec.rb
79
+ - spec/angular_xss/haml_spec.rb
80
+ - spec/angular_xss/safe_buffer_spec.rb
81
+ - spec/spec_helper.rb
82
+ - spec/support/engine_preventing_angular_xss.rb
83
+ - spec/templates/_test_erb.erb
84
+ - spec/templates/_test_haml.haml
141
85
  homepage: https://github.com/makandra/angular_xss
142
- licenses:
86
+ licenses:
143
87
  - MIT
88
+ metadata: {}
144
89
  post_install_message:
145
90
  rdoc_options: []
146
-
147
- require_paths:
91
+ require_paths:
148
92
  - lib
149
- required_ruby_version: !ruby/object:Gem::Requirement
150
- none: false
151
- requirements:
93
+ required_ruby_version: !ruby/object:Gem::Requirement
94
+ requirements:
152
95
  - - ">="
153
- - !ruby/object:Gem::Version
154
- hash: 3
155
- segments:
156
- - 0
157
- version: "0"
158
- required_rubygems_version: !ruby/object:Gem::Requirement
159
- none: false
160
- requirements:
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ required_rubygems_version: !ruby/object:Gem::Requirement
99
+ requirements:
161
100
  - - ">="
162
- - !ruby/object:Gem::Version
163
- hash: 3
164
- segments:
165
- - 0
166
- version: "0"
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
167
103
  requirements: []
168
-
169
- rubyforge_project:
170
- rubygems_version: 1.6.2
104
+ rubygems_version: 3.1.4
171
105
  signing_key:
172
- specification_version: 3
173
- summary: Patches rails_xss and Haml so AngularJS interpolations are auto-escaped in unsafe strings.
174
- test_files:
175
- - spec/rails-2.3/Gemfile
176
- - spec/rails-2.3/Gemfile.lock
177
- - spec/rails-2.3/Rakefile
178
- - spec/rails-2.3/app_root/config/boot.rb
179
- - spec/rails-2.3/app_root/config/database.yml
180
- - spec/rails-2.3/app_root/config/environment.rb
181
- - spec/rails-2.3/app_root/config/environments/test.rb
182
- - spec/rails-2.3/app_root/config/preinitializer.rb
183
- - spec/rails-2.3/app_root/config/routes.rb
184
- - spec/rails-2.3/app_root/lib/console_with_fixtures.rb
185
- - spec/rails-2.3/app_root/log/.gitignore
186
- - spec/rails-2.3/app_root/script/console
187
- - spec/rails-2.3/rcov.opts
188
- - spec/rails-2.3/spec.opts
189
- - spec/rails-2.3/spec/spec_helper.rb
190
- - spec/rails-3.2/.rspec
191
- - spec/rails-3.2/Gemfile
192
- - spec/rails-3.2/Gemfile.lock
193
- - spec/rails-3.2/Rakefile
194
- - spec/rails-3.2/app_root/.gitignore
195
- - spec/rails-3.2/app_root/config/application.rb
196
- - spec/rails-3.2/app_root/config/boot.rb
197
- - spec/rails-3.2/app_root/config/database.yml
198
- - spec/rails-3.2/app_root/config/environment.rb
199
- - spec/rails-3.2/app_root/config/environments/test.rb
200
- - spec/rails-3.2/app_root/config/initializers/backtrace_silencers.rb
201
- - spec/rails-3.2/app_root/config/initializers/inflections.rb
202
- - spec/rails-3.2/app_root/config/initializers/mime_types.rb
203
- - spec/rails-3.2/app_root/config/initializers/secret_token.rb
204
- - spec/rails-3.2/app_root/config/initializers/session_store.rb
205
- - spec/rails-3.2/app_root/config/routes.rb
206
- - spec/rails-3.2/app_root/lib/tasks/.gitkeep
207
- - spec/rails-3.2/app_root/log/.gitkeep
208
- - spec/rails-3.2/app_root/script/rails
209
- - spec/rails-3.2/rcov.opts
210
- - spec/rails-3.2/spec/spec_helper.rb
211
- - spec/rails-4.2/.rspec
212
- - spec/rails-4.2/Gemfile
213
- - spec/rails-4.2/Gemfile.lock
214
- - spec/rails-4.2/Rakefile
215
- - spec/rails-4.2/app_root/.gitignore
216
- - spec/rails-4.2/app_root/config/application.rb
217
- - spec/rails-4.2/app_root/config/boot.rb
218
- - spec/rails-4.2/app_root/config/database.yml
219
- - spec/rails-4.2/app_root/config/environment.rb
220
- - spec/rails-4.2/app_root/config/environments/test.rb
221
- - spec/rails-4.2/app_root/config/initializers/backtrace_silencers.rb
222
- - spec/rails-4.2/app_root/config/initializers/inflections.rb
223
- - spec/rails-4.2/app_root/config/initializers/mime_types.rb
224
- - spec/rails-4.2/app_root/config/initializers/secret_token.rb
225
- - spec/rails-4.2/app_root/config/initializers/session_store.rb
226
- - spec/rails-4.2/app_root/config/routes.rb
227
- - spec/rails-4.2/app_root/lib/tasks/.gitkeep
228
- - spec/rails-4.2/app_root/log/.gitkeep
229
- - spec/rails-4.2/app_root/script/rails
230
- - spec/rails-4.2/rcov.opts
231
- - spec/rails-4.2/spec/spec_helper.rb
232
- - spec/shared/app_root/app/controllers/application_controller.rb
233
- - spec/shared/app_root/app/helpers/application_helper.rb
234
- - spec/shared/app_root/app/models/.gitkeep
235
- - spec/shared/app_root/app/views/test/_test_erb.erb
236
- - spec/shared/app_root/app/views/test/_test_haml.haml
237
- - spec/shared/app_root/config/database.yml
238
- - spec/shared/app_root/db/migrate/.gitkeep
239
- - spec/shared/support/engine_preventing_angular_xss.rb
240
- - spec/shared/tests/erb_spec.rb
241
- - spec/shared/tests/haml_spec.rb
106
+ specification_version: 4
107
+ summary: Patches rails_xss and Haml so AngularJS interpolations are auto-escaped in
108
+ unsafe strings.
109
+ test_files:
110
+ - spec/angular_xss/erb_spec.rb
111
+ - spec/angular_xss/haml_spec.rb
112
+ - spec/angular_xss/safe_buffer_spec.rb
113
+ - spec/spec_helper.rb
114
+ - spec/support/engine_preventing_angular_xss.rb
115
+ - spec/templates/_test_erb.erb
116
+ - spec/templates/_test_haml.haml