aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/json
Commit message (Collapse)AuthorAgeFilesLines
* Enabled quirks mode on JSON.parse, fixes broken test in af9caaeGodfrey Chan2013-09-121-1/+13
| | | | | | | It turns out that ActionPack depends on the decoder to parse JSON "fragments" (e.g. '"a string"', '1', 'null', etc), so we need to enable quirks mode on JSON.parse. Also added coverage on the decoder side to prevent regression.
* Replace JSON.load with JSON.parse, also removed the proc parameterGodfrey Chan2013-09-111-1/+14
| | | | | | | | | | | | | Since we are dealing with untrusted user input, we should not be using JSON.load. According to the docs[1]: BEWARE: This method is meant to serialise data from trusted user input, like from your own database server or clients under your control, it could be dangerous to allow untrusted users to pass JSON sources into it. The default options for the parser can be changed via the ::load_default_options method. [1] http://www.ruby-doc.org/stdlib-2.0/libdoc/json/rdoc/JSON.html#method-i-load
* Avoid defining multibyte method names in JSON decoding test for JRuby CompatGaurish Sharma2013-08-071-3/+4
| | | | This change is similar to #11736 & in same way switched with fixed string & the index of the hash for method name. the index was added because otherwise, ruby will raise Error.
* Remove active_support/json/variable was deprecated.kennyj2013-06-011-7/+0
|
* Fix some typo in method names, variablesVipul A M2013-05-261-1/+1
|
* Replace multi_json with jsonErik Michaels-Ober2013-05-111-23/+13
|
* Added escaping of U+2028 and U+2029 inside the json encoder.Mario Caropreso2013-05-091-2/+2
| | | | | | | | | | | U+2028 and U+2029 are allowed inside strings in JSON (as all literal Unicode characters) but JavaScript defines them as newline seperators. Because no literal newlines are allowed in a string, this causes a ParseError in the browser. We work around this issue by replacing them with the escaped version. The resulting JSON is still valid and can be parsed in the browser. This commit has been coauthored with Viktor Kelemen @yikulju
* Fixed bad tests to clean up after themselves.Ryan Davis2013-05-032-4/+15
|
* rewrite order dependent test case. #8185Yves Senn2012-12-271-1/+2
| | | | | | As reported (https://github.com/rails/rails/pull/8185#issuecomment-11702226) this test relied on the order a hash was serialized. Comparing the parsed hash makes the test no longer order dependent.
* Remove unicode character encoding from ActiveSupport::JSON.encodeBrett Carter2012-12-141-3/+16
| | | | | | | | | | The encoding scheme (e.g. ☠ -> "\u2620") was broken for characters not in the Basic Multilingual Plane. It is possible to escape them for json using the weird encoding scheme of a twelve-character sequence representing the UTF-16 surrogate pair (e.g. '𠜎' -> "\u270e\u263a") but this wasn't properly handled in the escaping code. Since raw UTF-8 is allowed in json, it was decided to simply pass through the raw bytes rather than attempt to escape them.
* `#as_json` isolates options when encoding a hash. Closes #8182Yves Senn2012-11-121-0/+18
| | | | | | Setting options in a custom `#as_json` method had side effects. Modifications of the `options` hash leaked outside and influenced the conversion of other objects contained in the hash.
* Deprecate ActiveSupport::JSON::VariableErich Menge2012-08-071-0/+7
| | | | | | | | | | Reason: ActiveSupport::JSON::Variable is not used anymore internally. It was deprecated in 3-2-stable but we reverted all the deprecation for point releases. See #6536 and #6546. Conflicts: activesupport/lib/active_support/json/variable.rb
* Remove deprecated ActiveSupport::JSON::Variable.Erich Menge2012-05-301-2/+0
|
* True, False, and Nil should be represented in as_json as themselves.Erich Menge2012-05-291-0/+6
|
* BigDecimal string wrapping in JSON serialization can now be opted-out, fixes ↵David FRANCOIS2012-05-021-0/+11
| | | | #6033
* JSON: encode BigDecimal NaN/Infinity as null.Sebi Burkhard2012-05-011-0/+1
|
* Merge pull request #2532 from ↵Piotr Sarnacki2012-04-301-0/+3
|\ | | | | | | | | hasclass/as_json__encode_infinite_and_nan_floats_as_null JSON: Encode infinite or NaN floats as `null` to generate valid JSON.
| * JSON: Encode infinite or NaN floats as null to generate valid JSON.Sebi Burkhard2011-08-151-0/+3
| |
* | use AS::TestCase as the base classAaron Patterson2012-01-051-1/+1
| |
* | use #to_s to convert Range to jsonSergey Nartimov2012-01-011-0/+4
| |
* | remove checks for encodings availabilitySergey Nartimov2011-12-251-2/+2
| |
* | Initial pass at removing dead 1.8.x code from Active Support.José Valim2011-12-201-17/+13
|/ | | | | | There are a bunch of other implicit branches that adds 1.8.x specific code that still needs to be removed. Pull requests for those cases are welcome.
* Removing extra requires from the test. Already loaded in abstract_unit.Arun Agrawal2011-07-311-1/+0
|
* checked all .rb files in the project tree for missing magic comments, one ↵Xavier Noria2011-07-231-1/+1
| | | | | | | | | | | | | | was missing Came with this one-liner for this: find . -name '*.rb' | \ xargs chardet | \ grep -v ascii | \ cut -d: -f1 -s | \ xargs -n1 ruby -0777 -ne 'puts $FILENAME if $_ !~ /#.*coding:\s*utf/i' Welcome $_.
* Merge pull request #248 from bigfix/enumerable_as_jsonJosé Valim2011-05-071-9/+24
|\ | | | | Enumerable should pass encoding options to children in #as_json/#to_json
| * Enumerable should pass encoding options to children in #as_json/#to_json.John Firebaugh2011-04-011-9/+24
| |
* | AS Json parse_error makes a return for backwards compatibility, although it ↵Josh Kalderimis2011-04-191-1/+1
| | | | | | | | will return MultiJson::DecodeError
* | removed AS backends and instead rely on MultiJson for json decodingJosh Kalderimis2011-04-181-7/+4
|/
* parse dates to yaml in json arraysDiego Carrion2011-03-221-0/+2
| | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* test json decoding with time parsing disabled with all backends and respect ↵Diego Carrion2011-03-221-4/+2
| | | | | | ActiveSupport.parse_json_times when converting to yaml Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Updated the json date regex to recognize xmlschema formatted date times ↵Josh Kalderimis2011-02-121-0/+4
| | | | | | during json decoding. [#3031 state:resolved] Signed-off-by: Santiago Pastorino and Emilio Tagua <santiago+emilioe@wyeworks.com>
* Fixes an issue when decoding a json string which looks like a date but is ↵Josh Kalderimis2011-02-111-0/+2
| | | | | | invalid. This DateTime parse error is now caught and the original string is instead passed back [#6286 state:resolved] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Fix tests providing valid JSONSantiago Pastorino2011-02-021-2/+2
|
* Fix JSON decoding of newline character with Yaml backend [#3479 state:resolved]Maxime RETY2011-02-021-1/+5
| | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* use ! " " YAML string literal syntax rather than removing both quotesAaron Patterson2011-01-211-3/+1
|
* ordering can change depending on ruby version, so parse the JSON and verify ↵Aaron Patterson2011-01-171-3/+10
| | | | data structure equality
* Complex struct encoding testAlexey Nayden2011-01-151-0/+23
| | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Fixed various isolated test missing requires within AS.Josh Kalderimis2011-01-121-0/+1
| | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* fixed some issues with JSON encodingJakub Suder2010-09-071-1/+64
| | | | | | | | | | | - as_json in ActiveModel should return a hash and handle :only/:except/:methods options - Array and Hash should call as_json on their elements - json methods should not modify options argument [#5374 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Removes unused varsSantiago Pastorino2010-07-241-1/+1
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Time has it own implementation of xmlschema, now AMo doesn't depend on TZInfoSantiago Pastorino2010-07-021-2/+4
| | | | | | [#4979 state:committed] Signed-off-by: José Valim <jose.valim@gmail.com>
* BigDecimal#as_json does not really specify the F format, it delegates that ↵Xavier Noria2010-05-031-1/+3
| | | | to whatever BigDecimal#to_s default format is, do the same in its test
* Fix BigDecimal JSON encoding test. [#4495 state:resolved]Cezary Baginski2010-04-281-3/+3
| | | | Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* JSON: encode objects that don't have a native JSON representation using ↵Jeremy Kemper2010-04-261-2/+19
| | | | to_hash, if available, instead of instance_values (the old fallback) or to_s (other encoders' default). Encode BigDecimal and Regexp encode as strings to conform with other encoders. Try to transcode non-UTF-8 strings.
* Fix a JSON ordering issueYehuda Katz2010-02-101-3/+7
|
* Automatically prefer Yajl or JSON backend over Yaml, if availableJeremy Kemper2010-02-051-1/+1
|
* Add yajl-ruby as a JSON parsing backendBrian Lopez2010-02-051-0/+1
| | | | | | [#2666 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Fix ActiveSupport::JSON encoding of control characters [\x00-\x1f]Dwayne Litzenberger2009-12-231-1/+3
| | | | | | | | | | | | | | According to RFC 4627, only the following Unicode code points are allowed unescaped in JSON: unescaped = %x20-21 / %x23-5B / %x5D-10FFFF However, ActiveSupport::JSON did not escape the range %x00-1f. This caused parse errors when trying to decode the resulting output. [#3345 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Repair time dependenciesJeremy Kemper2009-11-141-0/+1
|
* Clean up spurious JSON decoding test failureJeremy Kemper2009-09-131-8/+2
|