aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/json/encoding_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 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-031-4/+11
|
* 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.
* Enumerable should pass encoding options to children in #as_json/#to_json.John Firebaugh2011-04-011-9/+24
|
* 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
|
* 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>
* JSON.escape returns UTF-8 stringsJeremy Kemper2009-07-011-2/+7
| | | | [#2849 state:resolved]
* JSON: split encoding and coercionJeremy Kemper2009-06-081-7/+12
|
* Privatize rails_to_jsonJeremy Kemper2009-04-261-1/+1
|
* * Add pluggable JSON backends with support for the JSON gem. [rick]rick2009-04-231-19/+19
| | | | | | | | | | | | | | Example: ActiveSupport::JSON.backend = "JSONGem" All internal Rails JSON encoding is now handled by ActiveSupport::JSON.encode(). Use of #to_json is not recommended, as it may clash with other libraries that overwrite it. However, you can recover Rails specific functionality if you really want to use #to_json. gem 'json' ActiveSupport::JSON.backend = "JSONGem" class ActiveRecord::Base alias to_json rails_to_json end
* Explicit test dependenciesJeremy Kemper2009-03-281-0/+1
|
* Ruby 1.9 compat: rename deprecated assert_raises to assert_raise.Jeremy Kemper2009-03-081-1/+1
| | | | [#1617 state:resolved]
* Properly quote json keys.Michael Koziarski2009-01-161-2/+2
| | | | | According to the RFC and the json.org site all json keys must be strings, and those strings must be quoted with double quotes. [#1755 state:committed]
* Require mocha >= 0.9.0 for AS testsJeremy Kemper2008-11-221-10/+8
|
* test nested hash with floatDan Barry2008-10-121-0/+12
| | | | | | [#652 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Move with_kcode helper to abstract_unit. Add tests for multibyte string ↵Manfred Stienstra2008-09-211-12/+0
| | | | extensions.
* Time#to_json: don't convert to utc before encoding. References #175gbuesing2008-05-181-0/+16
|
* Add config.active_support.escape_html_entities_in_json to allow disabling of ↵Rick Olson2008-04-081-0/+3
| | | | | | html entity escaping. [rick] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9238 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Add config.active_support.use_standard_json_time_format setting so that ↵Rick Olson2008-04-011-3/+12
| | | | | | Times and Dates export to ISO 8601 dates. [rick] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9203 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Ruby 1.9 compat: declare utf-8 file encodingJeremy Kemper2008-02-021-0/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8789 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* require abstract_unit directly since test is in load pathJeremy Kemper2008-01-051-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8563 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Ruby 1.9 compat: shadowed vars, kcodeJeremy Kemper2007-12-151-5/+17
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8402 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Don't escape forward slashes with String#to_json, our unicode encoding of < ↵Michael Koziarski2007-12-021-1/+1
| | | | | | and > prevent the XSS problems. [tpope] Closes #10273 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8255 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Change JSON to encode %w(< > &) as 4 digit hex codes to be in compliance ↵Rick Olson2007-10-291-2/+2
| | | | | | with the JSON spec. Closes #9975 [josh, chuyeow, tpope] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8050 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fix JSON encoding/decoding bugs dealing with /'s. Closes #9990 [Rick, ↵Rick Olson2007-10-261-1/+2
| | | | | | theamazingrando] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8026 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Document Enumerable and Hash #to_json. Add test for hash with integer key. ↵Jeremy Kemper2007-10-241-0/+1
| | | | | | Closes #9970. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8010 5ecf4fe2-1ee6-0310-87b1-e25e094e27de