Ilya Gorbunov
14351446d7
KT-15363 Fix failing test: missing capacity parameter check in JS
...
Partially restore JVM map capacity implementation
2020-01-24 15:28:18 +03:00
Ilya Gorbunov
4aa7d45a5a
KT-15363 Collection builders: improve tests and samples
2020-01-24 15:28:17 +03:00
Fleshgrinder
bf9d3d87a6
KT-15363 Collection Builders
...
Added container builders for lists, sets, and maps.
The new experimental type inference only works for the simple builders
with a single generic type. The versions with nullability and the maps
still require explicit specification of the types. Obviously explicit
specification is required for all users who are not using the new
experimental inference. Improving the type inference is something that
should be done separately and many things – including these builders –
will benefit from it, however, this is not a blocker for these builders
in my opinion.
2020-01-24 15:28:17 +03:00
Abduqodiri Qurbonzoda
e89893b6fd
Optimize ArrayDeque tests run time
2020-01-24 05:52:18 +03:00
Ilya Gorbunov
8733d5f9ed
ArrayDeque: avoid triggering JDK 1.6 bug in tests
...
Use System.arraycopy instead of Arrays.copyOfRange to
avoid triggering JDK-7174363 bug in copyOfRange.
Fix package of ArrayDequeTest
2020-01-24 01:39:48 +03:00
Abduqodiri Qurbonzoda
1203df7405
Deprecate floating point to integral types lesser than Int #KT-30360
2020-01-22 23:27:35 +03:00
Abduqodiri Qurbonzoda
e459542e6f
Add removeFirst(OrNull) and removeLast(OrNull) methods to MutableList
2020-01-22 23:22:28 +03:00
Abduqodiri Qurbonzoda
b6849efd47
Common ArrayDeque
2020-01-22 23:22:21 +03:00
Ilya Gorbunov
1336da8453
Rename Clock to TimeSource, ClockMark to TimeMark
...
Step 2: rename classes and interfaces.
Provide deprecated typealiases to smooth migration.
2020-01-21 03:28:35 +03:00
Abduqodiri Qurbonzoda
3cad1bbb51
Create method Collection.randomOrNull() #KT-35347
2020-01-16 22:25:53 +03:00
Ilya Gorbunov
043eddb432
Cleanup: use effects introduced by contracts of assert* functions
2019-12-28 02:51:56 +03:00
Ilya Gorbunov
6d092b5f71
Add more reduceOrNull tests
...
- Test for unsigned arrays
- Update binary api dump with the new functions
2019-12-26 19:27:47 +03:00
Alfredo Delli Bovi
06008c40ab
KT-33761 Add reduceRightOrNull
2019-12-26 19:27:46 +03:00
Alfredo Delli Bovi
f5d696d3c4
KT-33761 Add reduceOrNull
2019-12-26 19:27:46 +03:00
Abduqodiri Qurbonzoda
56cae75404
Fix StringBuilder reverse test
2019-12-10 13:07:27 +03:00
Abduqodiri Qurbonzoda
20d02dd0ee
Commonize StringBuilder
2019-12-04 22:15:33 +03:00
Ilya Gorbunov
bbdbc2896b
Workaround in FloatMathTest.powers to avoid failures with js-ir runtime
...
Include kotlin-stdlib-js-ir in local core libs build/test and
enable failing build on test failures.
Relates to: KT-24975
2019-10-16 17:48:47 +03:00
Abduqodiri Qurbonzoda
e54b405fe4
Fix Iterable, Sequence and String index overflow in windowed
2019-10-09 19:48:39 +03:00
Abduqodiri Qurbonzoda
d66f07a84e
CollectionsKt.windowed throws IllegalArgumentException
2019-09-20 00:50:54 +03:00
Ilya Gorbunov
a985402507
Introduce ClockMark.hasPassedNow, hasNotPassedNow functions
...
Makes it more clear to use them than comparing elapsed with Duration.ZERO.
2019-08-16 15:29:16 +03:00
Ilya Gorbunov
44195d436e
Rename: Clock.markNow, ClockMark.elapsedNow
...
Add "Now" suffix to the names of functions that depend on the current
time moment.
2019-08-16 15:29:16 +03:00
Ilya Gorbunov
f889d25287
Introduce TestClock.plusAssign(Duration) and hide implementation details
...
TestClock.plusAssign(Duration) is for advancing TestClock time.
Hide reading value, do not allow to provide initial reading,
fix clock unit to nanoseconds at construction time.
2019-08-16 15:28:45 +03:00
Ilya Gorbunov
4de9361c37
Introduce Duration.isPositive method
2019-08-16 15:25:57 +03:00
Abduqodiri Qurbonzoda
01a613dca4
Add tests for floating-point to integral conversion
2019-08-15 00:57:27 +03:00
Jake Wharton
1a6069382e
Provide Array.fill in common stdlib
...
KT-32359
2019-08-01 19:02:38 +03:00
Ilya Gorbunov
686bcb830e
Bit query and bit rotation functions for UInt, ULong, UShort, UByte
...
#KT-12749
2019-07-08 19:09:32 +03:00
Ilya Gorbunov
f8724654a1
Bit query and bit rotation functions for Int, Long, Short, Byte
...
#KT-12749
2019-07-08 19:09:32 +03:00
Ilya Gorbunov
d7252548fc
Add symmetric number * duration operators
2019-06-18 19:49:50 +03:00
Ilya Gorbunov
a2b1c537af
Change Duration.toString scientific exponent formatting
...
- use 'e+' for positive exponents in scientific format
2019-06-18 19:49:35 +03:00
Ilya Gorbunov
a5b7c270ae
Change Duration.toString(unit, decimals) formatting
...
- switch to scientific notation when value is too big (greater than 1e14)
- allow at most 12 decimals, larger values are coerced to 12
- use scientific format with exactly two decimals in mantissa in JVM
2019-06-18 19:49:35 +03:00
Ilya Gorbunov
c66740a7ed
Explicit public visibility, SinceKotlin and ExperimentalTime status
...
Use file level ExperimentalTime opt-in in tests.
2019-06-18 04:02:35 +03:00
Ilya Gorbunov
3b989cc815
Avoid using 'D' component in ISO duration string representation
...
Days in ISO have nominal duration, they are not always equal to 24H
2019-06-18 04:02:34 +03:00
Ilya Gorbunov
368452748b
Move convertDurationUnit into Duration companion
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
ca10d13f34
Rename Duration storage property to 'value'
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
365cbb94cd
Change Duration.absoluteValue to property
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
3f7a0d0845
Rename DurationMeasured to TimedValue, withMeasureTime to measuredTimeValue
...
Add measureTime docs
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
9deac2a591
Rename withComponents to toComponents and add two overloads of them
2019-06-18 04:02:33 +03:00
Ilya Gorbunov
796ad29637
Add shortcuts to convert duration to milliseconds and nanoseconds
2019-06-18 04:02:32 +03:00
Ilya Gorbunov
8004c34e44
Reduce Duration API surface, add top-level docs
...
- toDuration(unit) extension instead of constructors
- toDouble/Long/Int(unit) function instead of inUnits()
- remove static factory functions
- remove MIN_VALUE/MAX_VALUE constants
2019-06-18 04:02:32 +03:00
Ilya Gorbunov
682430766b
Add ClockMark and measureTime tests with test clock
2019-06-18 04:02:32 +03:00
Ilya Gorbunov
ca29cfb88d
Implement MonoClock in JS
...
It uses either process.hrtime() in node.js or performance.now() in browser,
falling back to Date.now() if the latter is not available
2019-06-18 04:02:31 +03:00
Ilya Gorbunov
b816f50d4d
Implement and test default string formatting in JVM and JS
...
Relax Duration.toString tests for JS and Native rounding specifics
2019-06-18 04:01:55 +03:00
Ilya Gorbunov
c1f7fd0281
Duration: test toString in particular units
2019-06-18 03:59:52 +03:00
Ilya Gorbunov
b9c56af9ba
Change Duration value storage unit to ns
2019-06-18 03:59:52 +03:00
Ilya Gorbunov
690049c082
Duration unit tests
2019-06-18 03:59:52 +03:00
Ilya Gorbunov
7977b6cdb8
Implement DurationUnit in JS, add doc summary and conversion test
2019-06-18 03:59:51 +03:00
Abduqodiri Qurbonzoda
37dfbb3eba
Workaround unpaired surrogates replacement with ? (KT-31614)
2019-06-04 21:25:41 +03:00
Abduqodiri Qurbonzoda
c8a4fa58cd
Implement String to/from ByteArray conversion (KT-24810)
2019-05-06 15:54:28 +03:00
Abduqodiri Qurbonzoda
81d2d3cb6a
Implement String to/from CharArray conversion (KT-29265)
2019-05-06 15:54:28 +03:00
Svyatoslav Kuzmich
5da83889d9
Stdlib tests: Supporess NoInfer access instead of redeclaration
...
Stdlib annotation 'kotlin.internal.NoInfer' was redeclared in stdlib tests
so non-fried modules (kotlin-stdlib-jdk7, kotlin-stdlib-jdk8, etc.)
could access it.
IR deserializer does not support declaration duplicates (at least yet
for JS IR backend). Thus this commit removes this redeclaration and
suppresses errors on its usages instead.
2019-04-26 20:14:03 +03:00