crass 1.0.3 → 1.0.4
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.
- checksums.yaml +5 -5
- data/.travis.yml +4 -3
- data/HISTORY.md +6 -0
- data/Rakefile +5 -4
- data/lib/crass/parser.rb +15 -15
- data/lib/crass/tokenizer.rb +25 -25
- data/lib/crass/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 8954dab046829112997d399f45b1af46ede108e7698e6c68ee22463ccfe5bcfe
|
|
4
|
+
data.tar.gz: 0e0b6e892769fe97df3751a3ab86cf9c0b741bddb45e03106268f626128323e7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 822442670838bdad94990c1fbd9ac85b8cc4af1157b53aa29df26ade832db24885e82fb63280624f2439a48e5b8de25c0723da6807c0a6402bd1dfe8f1057f33
|
|
7
|
+
data.tar.gz: 2263060b1aa0999ea8216cff30c1c874d3185b5903eb7b92150b0638c78275662a15159a99c18ef8bca9c5a1fdcf984ace6a2981de8467cd4d81835f4e63f88e
|
data/.travis.yml
CHANGED
data/HISTORY.md
CHANGED
data/Rakefile
CHANGED
|
@@ -5,12 +5,13 @@ Bundler::GemHelper.install_tasks
|
|
|
5
5
|
|
|
6
6
|
Rake::TestTask.new
|
|
7
7
|
task :default => [:test]
|
|
8
|
+
task :test => :set_rubyopts
|
|
9
|
+
|
|
10
|
+
task :set_rubyopts do
|
|
11
|
+
ENV['RUBYOPT'] ||= ""
|
|
12
|
+
ENV['RUBYOPT'] += " -w"
|
|
8
13
|
|
|
9
|
-
task :test => :set_frozen_string_literal_option
|
|
10
|
-
task :set_frozen_string_literal_option do
|
|
11
14
|
if RUBY_ENGINE == "ruby" && RUBY_VERSION >= "2.3"
|
|
12
|
-
warn "NOTE: Testing support for frozen string literals"
|
|
13
|
-
ENV['RUBYOPT'] ||= ""
|
|
14
15
|
ENV['RUBYOPT'] += " --enable-frozen-string-literal --debug=frozen-string-literal"
|
|
15
16
|
end
|
|
16
17
|
end
|
data/lib/crass/parser.rb
CHANGED
|
@@ -402,25 +402,25 @@ module Crass
|
|
|
402
402
|
case token[:node]
|
|
403
403
|
# Non-standard. Spec says to discard comments and whitespace, but we
|
|
404
404
|
# keep them so we can serialize faithfully.
|
|
405
|
-
|
|
406
|
-
|
|
405
|
+
when :comment, :whitespace
|
|
406
|
+
rules << token
|
|
407
407
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
@tokens.reconsume
|
|
411
|
-
rule = consume_qualified_rule
|
|
412
|
-
rules << rule if rule
|
|
413
|
-
end
|
|
414
|
-
|
|
415
|
-
when :at_keyword
|
|
416
|
-
@tokens.reconsume
|
|
417
|
-
rule = consume_at_rule
|
|
418
|
-
rules << rule if rule
|
|
419
|
-
|
|
420
|
-
else
|
|
408
|
+
when :cdc, :cdo
|
|
409
|
+
unless flags[:top_level]
|
|
421
410
|
@tokens.reconsume
|
|
422
411
|
rule = consume_qualified_rule
|
|
423
412
|
rules << rule if rule
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
when :at_keyword
|
|
416
|
+
@tokens.reconsume
|
|
417
|
+
rule = consume_at_rule
|
|
418
|
+
rules << rule if rule
|
|
419
|
+
|
|
420
|
+
else
|
|
421
|
+
@tokens.reconsume
|
|
422
|
+
rule = consume_qualified_rule
|
|
423
|
+
rules << rule if rule
|
|
424
424
|
end
|
|
425
425
|
end
|
|
426
426
|
|
data/lib/crass/tokenizer.rb
CHANGED
|
@@ -537,38 +537,38 @@ module Crass
|
|
|
537
537
|
|
|
538
538
|
until @s.eos?
|
|
539
539
|
case char = @s.consume
|
|
540
|
-
|
|
541
|
-
|
|
540
|
+
when ')'
|
|
541
|
+
break
|
|
542
542
|
|
|
543
|
-
|
|
544
|
-
|
|
543
|
+
when RE_WHITESPACE
|
|
544
|
+
@s.scan(RE_WHITESPACE)
|
|
545
|
+
|
|
546
|
+
if @s.eos? || @s.peek == ')'
|
|
547
|
+
@s.consume
|
|
548
|
+
break
|
|
549
|
+
else
|
|
550
|
+
return create_token(:bad_url, :value => value + consume_bad_url)
|
|
551
|
+
end
|
|
545
552
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
end
|
|
553
|
+
when '"', "'", '(', RE_NON_PRINTABLE
|
|
554
|
+
# Parse error.
|
|
555
|
+
return create_token(:bad_url,
|
|
556
|
+
:error => true,
|
|
557
|
+
:value => value + consume_bad_url)
|
|
552
558
|
|
|
553
|
-
|
|
559
|
+
when '\\'
|
|
560
|
+
if valid_escape?
|
|
561
|
+
value << consume_escaped
|
|
562
|
+
else
|
|
554
563
|
# Parse error.
|
|
555
564
|
return create_token(:bad_url,
|
|
556
565
|
:error => true,
|
|
557
|
-
:value => value + consume_bad_url
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
if valid_escape?
|
|
561
|
-
value << consume_escaped
|
|
562
|
-
else
|
|
563
|
-
# Parse error.
|
|
564
|
-
return create_token(:bad_url,
|
|
565
|
-
:error => true,
|
|
566
|
-
:value => value + consume_bad_url
|
|
567
|
-
)
|
|
568
|
-
end
|
|
566
|
+
:value => value + consume_bad_url
|
|
567
|
+
)
|
|
568
|
+
end
|
|
569
569
|
|
|
570
|
-
|
|
571
|
-
|
|
570
|
+
else
|
|
571
|
+
value << char
|
|
572
572
|
end
|
|
573
573
|
end
|
|
574
574
|
|
data/lib/crass/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: crass
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Grove
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2018-04-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|
|
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
110
110
|
version: '0'
|
|
111
111
|
requirements: []
|
|
112
112
|
rubyforge_project:
|
|
113
|
-
rubygems_version: 2.
|
|
113
|
+
rubygems_version: 2.7.3
|
|
114
114
|
signing_key:
|
|
115
115
|
specification_version: 4
|
|
116
116
|
summary: CSS parser based on the CSS Syntax Level 3 spec.
|
|
@@ -145,4 +145,3 @@ test_files:
|
|
|
145
145
|
- test/test_parse_rules.rb
|
|
146
146
|
- test/test_parse_stylesheet.rb
|
|
147
147
|
- test/test_serialization.rb
|
|
148
|
-
has_rdoc:
|