Commit 203c1f5

mokha <mokha@cisco.com>
2019-05-10 23:22:36
match dates as strings
1 parent 36a3ef9
Changed files (2)
lib
scim
spec
scim
lib/scim/kit/v2/parser.rb
@@ -87,12 +87,13 @@ subAttr   = "." ATTRNAME
         rule(:less_than) { str("lt") }
         rule(:greater_than_equals) { str("ge") }
         rule(:less_than_equals) { str("le") }
-        rule(:string) { (alpha | single_quote | str('@') | dot).repeat(1) }
+        rule(:string) { (alpha | single_quote | at | dot | hyphen | colon | digit).repeat(1) }
         rule(:lparen) { str('(') >> space? }
         rule(:rparen) { str(')') >> space? }
         rule(:lbracket) { str('[') >> space? }
         rule(:rbracket) { str(']') >> space? }
         rule(:digit) { match(/\d/) }
+        rule(:at) { str('@') }
         rule(:quote) { str('"') }
         rule(:single_quote) { str("'") }
         rule(:space) { match('\s') }
spec/scim/kit/v2/parser_spec.rb
@@ -29,6 +29,7 @@ RSpec.describe Scim::Kit::V2::Parser do
         "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
       ].each do |value|
         specify { expect(subject.parse_with_debug(%Q(#{attribute} #{operator} \"#{value}\"))).to be_truthy }
+        #specify { puts subject.parse(%Q(#{attribute} #{operator} \"#{value}\")).inspect }
       end
     end
   end
@@ -133,6 +134,7 @@ RSpec.describe Scim::Kit::V2::Parser do
   [
     'Tsuyoshi',
     'hello@example.org',
+    "2011-05-13T04:42:34Z",
   ].each do |x|
     specify { expect(subject.string).to parse(x) }
   end