Commit Graph

86 Commits

Author SHA1 Message Date
Aske Simon Christensen f5bf50e7a4 Adjust UTF-8 tests to match WHATWG standard expectations.
This adjusts all UTF-8 tests to the new semantics in the breaking
change described here: https://github.com/dart-lang/sdk/issues/41100

This has three parts:
- Unpaired surrogates are encoded as replacement characters, and
  encoded surrogates are considered malformed input when decoding.
- Decoding errors are generally reported on the position of the byte
  that conclusively makes the input malformed.
- The number of replacement characters emitted by the decoder is
  generally one per unfinished sequence or undecodable byte.

The code changes to implement the new semantics are placed in subsequent
commits.

Change-Id: I4cc8ce660e39287e734070764ab8e1f0ebb8b9e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143815
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2020-05-04 10:48:32 +00:00
Johnni Winther 645f3acca7 [cfe] Update greatest closure of ? to Object?
Closes #41386

Change-Id: I1a5a4cdc35cef37c7a8ba6a6aecb99457789bcdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144940
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-05-04 08:14:43 +00:00
Liam Appelbe 3929f299ae [nnbd] Fix json_utf8_chunk_test in strong mode
Change-Id: I1ad9e525520de99dd50cad14f7ed20fa50f50535
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144242
Auto-Submit: Liam Appelbe <liama@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2020-04-20 23:17:54 +00:00
Riley Porter 17f5dcb336 [tests] Fix CompileTimeErrors in migrated tests.
Fixes:
lib/math/rectangle_test
lib/convert/utf8_test
lib/convert/utf8_encode_test
lib/convert/streamed_conversion_utf8_encode_test
lib/convert/streamed_conversion_utf8_decode_test
lib/convert/streamed_conversion_json_utf8_encode_test
lib/convert/streamed_conversion_json_utf8_decode_test
lib/convert/json_lib_test
lib/convert/encoding_test
lib/convert/chunked_conversion_utf8_test
lib/convert/chunked_conversion_utf85_test
lib/convert/chunked_conversion_utf84_test
lib/convert/base64_test/none
Change-Id: I9d540e2bc908ac2ac74e42fc1b2eb4c729371c96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143183
Commit-Queue: Riley Porter <rileyporter@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-04-13 22:42:51 +00:00
Alexander Markov 72f182d2bf [tests/nnbd] Fix lib/convert/chunked_conversion_utf88_test for strong mode
In strong mode it is no longer valid to grow the list of non-nullable
elements using x.length = y. The test is updated to add elements to the
list in order to grow it instead of using length setter.

The following tests began passing:
dartk-strong-linux-release-x64:lib/convert/chunked_conversion_utf88_test was fixed (RuntimeError -> Pass)
dartkp-strong-linux-release-x64:lib/convert/chunked_conversion_utf88_test was fixed (RuntimeError -> Pass)

Change-Id: I5e30e6f92ae30bf06ebada4a6c3686cc7986343e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142281
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-04-02 20:57:29 +00:00
Ryan Macnak 2a5d0589ac [vm, gc] Verify the store buffer contains all old-space objects that reference new-space objects.
Speed-up ObjectSets.

Fix pointer verification before and after scavenging to set the correct mark expectation being on concurrent marking state.

Bug: https://github.com/dart-lang/sdk/issues/40780
Change-Id: Ic7ce6d5a829e41634083b0c274b9764da3f4b619
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137240
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2020-02-27 19:26:33 +00:00
Robert Nystrom b05a57d5f3 Migrate tests/lib_2/convert -> tests/lib/convert.
Change-Id: I04e64359acb95c63d1b5dc5c7fdfaadcb6c55fd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130965
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2020-01-16 17:46:02 +00:00
Bob Nystrom f6ca2c1d8f Remove the Dart 1 tests.
This deletes:

tests/co19
tests/corelib
tests/html
tests/isolate
tests/language
tests/lib

It does not delete tests/standalone because apparently there are tests
in there that are not in standalone_2. (I assume they were added after
the test migration. I don't know why they were added there.)

I have tried to remove references to the old tests from various scripts
and tools but may have missed some. (As you can imagine, grepping for
"lib" does not have the best signal-to-noise ratio.)

"It was a pleasure to burn. It was a special pleasure to see things
eaten, to see things blackened and changed. With the brass nozzle in his
fists, with this great python spitting its venomous kerosene upon the
world, the blood pounded in his head, and his hands were the hands of
some amazing conductor playing all the symphonies of blazing and burning
to bring down the tatters and charcoal ruins of history."

- Ray Bradbury, Fahrenheit 451

Change-Id: If3db4a50e7a5ee25aff8058b1483e2ce8e68424e
Reviewed-on: https://dart-review.googlesource.com/c/75420
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-10-11 23:45:18 +00:00
G?nter Z?chbauer 2da0b9f4f1 fix some typos
Closes #34738
https://github.com/dart-lang/sdk/pull/34738

GitOrigin-RevId: d211bbacfe65355cf7304c990ffb6c79d7a229cf
Change-Id: If690e6d378e543b300e1f6a353ceae73e39c29db
Reviewed-on: https://dart-review.googlesource.com/c/78900
Reviewed-by: Alexander Thomas <athom@google.com>
2018-10-10 19:15:30 +00:00
Florian Loitsch bf8d86f4fd Migrate test block 182.
Change-Id: I4834e2661f3cf78d95919db2cfcec1293c780925
Reviewed-on: https://dart-review.googlesource.com/3062
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2017-09-07 12:53:45 +00:00
Florian Loitsch 051f0f1267 Added new entries to the .gitattributes file.
Also updated the tests so that we don't forget in the future.

Change-Id: I0a998af306a0b6fa54b3c86cf164fdfe1f76340d
Reviewed-on: https://dart-review.googlesource.com/3624
Reviewed-by: William Hesse <whesse@google.com>
2017-09-06 18:05:57 +00:00
Jacob Richman 2dcd56ef43 Format all tests.
There are far too many files here to review everyone carefully.
Spot checking most of the diffs look good as test code is generally written
with less care than application code so lots of ugly formatting get through.
If people notice files where the automated formatting bothers them feel free
to comment indicating file names and I'll move spaces within comments to make
the formatting cleaner and use comments to force block formatting as I have
done for other case where formatting looked bad.

BUG=
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2771453003 .
2017-04-17 14:53:02 -07:00
Jacob Richman 14531fa62d Re-land "Format all multitests"
Only delta from the original is a bad merge of tests/corelib/list_test.dart

This reverts commit 44d8be0ed3.

BUG=

Review-Url: https://codereview.chromium.org/2774783002 .
2017-03-23 12:40:21 -07:00
Jacob Richman 44d8be0ed3 Revert "Format all multitests"
This reverts commit 312b66dd5f.

BUG=

Review-Url: https://codereview.chromium.org/2770063002 .
2017-03-23 10:49:40 -07:00
Jacob Richman 312b66dd5f Format all multitests
BUG=
R=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2768073002 .
2017-03-23 10:26:44 -07:00
Jacob Richman 88eb557b65 Fix warnings_checker.dart handling of multitests
Update all tests

Support //# multitests for better dartfmt compatibility and fewer multitest false positives

All files under tests were manually updated with

find . -iregex '.*\.dart$' -print0 | xargs -0 perl -pi -e 's/(\S\s+)\/\/\/ /$1\/\/# /'

For now both old and new styles are allowed to accommodate CO19 tests.

R=efortuna@google.com
BUG=

Review-Url: https://codereview.chromium.org/2765693002 .
Review-Url: https://codereview.chromium.org/2765893003 .
2017-03-21 17:29:56 -07:00
Jacob Richman bf2b545150 Revert "Update all tests"
This reverts commit ce76e9c30beaf9a193d3677b88c20a1ebb3fae8c.
2017-03-21 16:33:18 -07:00
Jacob Richman 3c7353d987 Update all tests
Support //# multitests for better dartfmt compatibility and fewer multitest false positives

All files under tests were manually updated with

find . -iregex '.*\.dart$' -print0 | xargs -0 perl -pi -e 's/(\S\s+)\/\/\/ /$1\/\/# /'

For now both old and new styles are allowed to accommodate CO19 tests.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2765693002 .
2017-03-21 12:39:28 -07:00
Jacob Richman 6a7d6c385e Add comments
Add spaces to make sure dartfmt doesn't destroy bespoke indentation

BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2763823002 .
2017-03-20 21:03:12 -07:00
Zachary Anderson 63c4b6b1cb Revert "Remove package:unittest from some tests"
This reverts commit dde47b2aad.

Revert "Update Dartium status for passing test"

This reverts commit d71c70d56d.

Tests failing on dart2js and async_star_pause_test is
passing on Dartium. Need to think about how to update the
status files.

Review-Url: https://codereview.chromium.org/2656503004 .
2017-01-25 11:06:58 -08:00
Zachary Anderson dde47b2aad Remove package:unittest from some tests
package:unittest is deprecated in favor of package:test.

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2656743002 .
2017-01-25 08:50:02 -08:00
Lasse R.H. Nielsen fb7553c1bd Add offset to UTF8-decode format exceptions.
Fixes issue #28293

BUG= http://dartbug.com/28293
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2619793002 .
2017-01-23 14:18:40 +01:00
Lasse R.H. Nielsen 44594277e1 Make core libraries use generic method syntax.
Removes comment syntax where possible for the following platform libraries:
* async
* collection
* convert
* core
* internal
* io
* math

The HTML related libraries are not changed. The templates used to build them
must be changed as well.

R=floitsch@google.com

Committed: https://github.com/dart-lang/sdk/commit/68818315b5cc6c63fea0e10e90f515f6083ec095
Committed: https://github.com/dart-lang/sdk/commit/3f74b8d82edca8c342c43306714e68ddf84548e1
Review-Url: https://codereview.chromium.org/2529393002 .
2017-01-03 12:05:40 +01:00
Lasse Reichstein Holst Nielsen 3f74b8d82e Make core libraries use generic method syntax.
Removes comment syntax where possible for the following platform libraries:
* async
* collection
* convert
* core
* internal
* io
* math

The HTML related libraries are not changed. The templates used to build them
must be changed as well.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2529393002 .

Committed: https://github.com/dart-lang/sdk/commit/68818315b5cc6c63fea0e10e90f515f6083ec095
2016-12-14 12:24:36 +01:00
Lasse Reichstein Holst Nielsen 68818315b5 Make core libraries use generic method syntax.
Removes comment syntax where possible for the following platform libraries:
* async
* collection
* convert
* core
* internal
* io
* math

The HTML related libraries are not changed. The templates used to build them
must be changed as well.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2529393002 .
2016-12-14 11:32:16 +01:00
Florian Loitsch fe1fda0766 Make dart:convert strong mode clean.
Also removes the ChunkedConverter.

R=lrn@google.com

Review URL: https://codereview.chromium.org/1964953003 .
2016-05-11 16:15:31 +02:00
Srdjan Mitrovic d109b17ead Turn off background compilation when running with --verify_gc, since the background compilation constantly forces mutator thread to reach safepoint and vice versa. This can take too much time. Add a different source-code position for UNREACHABLE in AbstractType::IsInstantiated to analyze very rare crashes
BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org/1913313002 .
2016-04-22 15:37:52 -07:00
Florian Loitsch 1e574a1ffc Fix void foo(..) => ... to use { } instead.
Fixes issue 26292.
BUG= http://dartbug.com/26292
R=lrn@google.com

Review URL: https://codereview.chromium.org/1908943004 .
2016-04-21 21:35:17 +02:00
Siva Annamalai e67a6babcf Remove --verified_mem option from the test as there is a plan to deprecate this option.
Review URL: https://codereview.chromium.org/1889613002 .
2016-04-13 12:33:11 -07:00
Florian Loitsch 50bdab3841 Steps towards making the convert library strong-mode compliant.
This version has a few deprecated methods. In a future release they will be removed.

See https://codereview.chromium.org/1827803002 for the final patch (once the deprecated methods have been removed).

R=leafp@google.com, lrn@google.com

Committed: https://github.com/dart-lang/sdk/commit/4ab1219bf93a33a2a3d4803e053ccd70ce190371
Reverted: https://github.com/dart-lang/sdk/commit/045a3753665268761508c8053e0ee84372d9ef35

Review URL: https://codereview.chromium.org/1847843002 .
2016-04-12 20:59:21 +02:00
Florian Loitsch 045a375366 Revert "Steps towards making the convert library strong-mode compliant."
This reverts commit 4ab1219bf9.

Review URL: https://codereview.chromium.org/1881553002 .
2016-04-11 19:52:57 +02:00
Florian Loitsch 4ab1219bf9 Steps towards making the convert library strong-mode compliant.
This version has a few deprecated methods. In a future release they will be removed.

See https://codereview.chromium.org/1827803002 for the final patch (once the deprecated methods have been removed).

R=leafp@google.com, lrn@google.com

Review URL: https://codereview.chromium.org/1847843002 .
2016-04-11 19:16:04 +02:00
Lasse R.H. Nielsen 3f0ad9d4f2 Add "url-safe" encoding to base64 in dart:convert.
Fixes issue #24813.
Doesn't add a second codec. The codec is unimportant,
only the BASE64 and BASE64URL constants need to be public anyway.

BUG= http://dartbug.com/24813
R=floitsch@google.com, nweiz@google.com

Review URL: https://codereview.chromium.org/1858113003.
2016-04-07 16:36:14 +02:00
Srdjan Mitrovic 47f0b84838 Update test's options to optimize deterministically (turn off background compilation)
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1807013003 .
2016-03-17 09:35:27 -07:00
Lasse R.H. Nielsen d6b01b5028 Fix type-error in base64.dart
Fixes issue #25577.
BUG= http://dartbug.com/25577

Review URL: https://codereview.chromium.org/1630933004.
2016-01-28 13:15:01 +01:00
Lasse R.H. Nielsen 289a22182e Add support for decoding URL-safe encoded base64.
Also support "%3D" instead of "=" as padding, but no other percent escapes.

This is only for decoding, encoding is still as strict as possible.

R=nweiz@google.com

Review URL: https://codereview.chromium.org/1419983003 .
2015-10-26 09:41:30 +01:00
Lasse R.H. Nielsen bd4c7a8a07 Add Base64 codec to dart:convert.
This is a simple converter that only accepts and produces plain base-64 strings
with the default alphabet and no whitespace.

R=floitsch@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//1370073002 .
2015-09-29 13:49:53 +02:00
Lasse R.H. Nielsen 194c729a2a Make line_splitter_test not use multi-line strings.
Apparently dart2js and the VM disagrees on which characters are in
a multi-line string if the source uses Windows line endings.

Fixes issue 23856

BUG= http://dartbug.com/23856
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1294353003.
2015-08-19 11:27:14 +02:00
Lasse R.H. Nielsen 4ee6246556 Add split function to LineSplitter class in dart:convert.
The split function returns a lazy iterable of the lines, unlike the convert
function which returns a list.
This makes the function usable on large strings where not all of the lines
are needed.

Closes https://github.com/dart-lang/sdk/issues/23837

R=kevmoo@google.com

Review URL: https://codereview.chromium.org//1240623002 .
2015-07-15 12:26:24 +02:00
Stephan Herhut 225be75498 Fix some tests and exclude others from CRLF rewriting.
R=whesse@google.com
BUG=

Review URL: https://codereview.chromium.org//1212823002.
2015-06-26 14:40:01 +02:00
Lasse R.H. Nielsen 25a16a39b3 In JsonEncoder, test if map has only string keys, and use toEncodable if not.
Currently the encoder assumes that a map will have string keys, and will fail
in ugly ways if it doesn't. With this change, the toEncodable function used on
other un-encodable values is also used on non-String-keyed maps.

BUG= http://dartbug.com/23469
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1153893004
2015-05-27 10:49:21 +02:00
kevmoo@google.com cc8ad23a80 Stop using pkg/matcher in JSON pretty test
R=nweiz@google.com

Review URL: https://codereview.chromium.org//1128183004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45656 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 20:55:54 +00:00
lrn@google.com 53fa5f6c0a Make html-escape also escape < and > in attributes.
Unescaped < is not allowed in strict XHTML attributes.

BUG= http://dartbug.com/21913
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1083413004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45278 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 11:01:22 +00:00
dgrove@google.com 3c39ad2ec4 Fix off-by-one error in https://code.google.com/p/dart/source/detail?r=45153
and https://code.google.com/p/dart/source/detail?r=45154 .

R=sigmund@google.com

Review URL: https://codereview.chromium.org//1055283003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45189 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 23:13:40 +00:00
lrn@google.com 8a5d0491e4 Make HtmlEscape escape '/' again in UNKNOWN mode.
This is a XSS-prevention recommendation.
If escaped code is only ever used inside a quoted attribute or as element text,
escapeing '/' is not necessary.
However, if the escaped code is inserted inside a tag (for example assuming
that it is a well-behavde attribute), then a slash may be meaningful in some
cases. Lots of other things can go wrong in that case, so we recommend against
it.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1084473003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45153 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 08:15:16 +00:00
lrn@google.com 8b8223d15c Document and fix HTML-escape.
Update documentation and behavior of HtmlEscape.

BUG= http://dartbug.com/21913, http://dartbug.com/13097
R=floitsch@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//1019853002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45003 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 12:45:06 +00:00
lrn@google.com ad532b79e0 Make Utf8Decoder and Utf8Encoder's convert methods take start and end too.
BUG= http://dartbug.com/21652
R=floitsch@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//736583008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41844 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 11:23:51 +00:00
koda@google.com fde4d2882c Add missing verified write on x64; extend test coverage
On x64, StoreInstanceField and StoreIndexed sometimes used Assembler::StoreObject to store constants directly into heap objects. This method is unaware of the write barrier. Fix this by adding a write-barrier-aware method, like we already have on ia32.

Generally, we should consider distinguishing more clearly between stack stores and heap stores, for instance by adding HeapAddress/StackAddress types.

R=iposva@google.com

Review URL: https://codereview.chromium.org//738453002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41808 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-18 16:35:59 +00:00
lrn@google.com 75e49f5220 Fix test warnings and expect Safari mobile simulator bug.
Review URL: https://codereview.chromium.org//679143003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41319 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 15:07:20 +00:00
lrn@google.com 8050a0392b Fix assertion not holding (calling with start==end) and typo.
Review URL: https://codereview.chromium.org//677423002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41317 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 14:00:13 +00:00