From 075f8d35497fb36d9193e5364c055049c66fa5eb Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Mon, 9 Jan 2012 18:52:11 +0100 Subject: [PATCH 1/2] Allow JSON number literals to be followed by whitespace Add a test case. Fixes https://fedorahosted.org/augeas/ticket/247 --- AUTHORS | 1 + lenses/json.aug | 2 +- lenses/tests/test_json.aug | 3 +++ 3 files changed, 5 insertions(+), 1 deletions(-) diff --git a/AUTHORS b/AUTHORS index df63f95..e7870f2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -44,6 +44,7 @@ Contributions by: Bill Pemberton Alan Pevec Robin Lee Powell + Lubomir Rintel Roman Rakus Satoru SATOH Nicolas Valcárcel Scerpella diff --git a/lenses/json.aug b/lenses/json.aug index c22ad90..6ceab09 100644 --- a/lenses/json.aug +++ b/lenses/json.aug @@ -29,7 +29,7 @@ let str_store = let q = del "\"" "\"" in q . store /[^"]*/ . q . ws (* " Emacs, relax *) -let number = [ label "number" . store /-?[0-9]+(\.[0-9]+)?([eE][+-]?[0-9]+)?/ ] +let number = [ label "number" . store /-?[0-9]+(\.[0-9]+)?([eE][+-]?[0-9]+)?/ . ws ] let str = [ label "string" . str_store ] let const (r:regexp) = [ label "const" . store r . ws ] diff --git a/lenses/tests/test_json.aug b/lenses/tests/test_json.aug index 0bcd25d..d8b7fa8 100644 --- a/lenses/tests/test_json.aug +++ b/lenses/tests/test_json.aug @@ -8,6 +8,9 @@ test lns get "true" = { "const" = "true" } test lns get "3.141" = { "number" = "3.141" } +test lns get "{ \"key\" : 666 }" = + { "dict" { "entry" = "key" { "number" = "666" } } } + test lns get "[true, 0, \"yo\"]" = { "array" { "const" = "true" } { "number" = "0" } { "string" = "yo" } } -- 1.7.7.5