profile
viewpoint
Rick Waldron rwaldron Bocoup Boston, MA http://bocoup.com/ Director of Engineering @bocoup; Creator of Johnny-Five; Maintainer of @tc39/test262; He/him.

meltingice/CamanJS 3311

Javascript HTML5 (Ca)nvas (Man)ipulation

firmata/firmata.js 636

JavaScript implementation of the Firmata protocol

nebrius/raspi-io 496

An IO plugin for Johnny-Five that provides support for the Raspberry Pi

JSFoundation/standards 246

Giving web developers a voice in the standards process

bterlson/eshost-cli 150

Run ECMAScript code uniformly across any ECMAScript host

bterlson/eshost 103

A uniform wrapper around a multitude of ECMAScript hosts. CLI: https://github.com/bterlson/eshost-cli

gf3/WAT 103

LOLWAT?

jeresig/dromaeo 71

JavaScript Performance Test Suite

boazsender/jQuery-Twitter-Plugin 57

A jQuery plugin for putting twitter searches on websites.

bterlson/test262-harness 53

Experimental harness for test262

push eventbocoup/dcss

Rick Waldron

commit sha b40ee3e2f3a86ff96f9aacea03ca2d1930deb03a

fixup! Scenarios: fixes to ordering and filtering (super admin must see everything)

view details

push time in 3 days

push eventbocoup/dcss

Rick Waldron

commit sha 885ff2e3aceddb01a5eeef3ddb01deddecafc71c

Scenarios: fixes to ordering and filtering (super admin must see everything)

view details

Rick Waldron

commit sha 2d9edc7dc8d9fe40368990ef68772a593b3df334

Lint fixes

view details

push time in 3 days

push eventbocoup/dcss

Rick Waldron

commit sha fc4130b63812ab46c45bba33bc66c69eb0452dc4

CreateAccount: fix input validation bugs

view details

push time in 3 days

push eventbocoup/dcss

Rick Waldron

commit sha 6810ef21fa6ede2f3adbc85d993550491efd6fed

Scenario: fix detail view scenario.created_at bug

view details

push time in 3 days

push eventbocoup/dcss

Rick Waldron

commit sha 124686158ab20268383365688908776f278c6b22

RTE: icon overrides

view details

push time in 3 days

push eventbocoup/dcss

Rick Waldron

commit sha 1ea4b805624ea0e5e64b009334e122652651dbad

RTE: roll back z-index changes

view details

Rick Waldron

commit sha 58f4d49ed2d59f48ed04c55bee4444ff5dd3e9b3

Scripts: consolidate migration tools into one script.

view details

Rick Waldron

commit sha bd51a283e3a48099dc12d0eaeb68a1fb7bfc5bac

Migration: image table

view details

Rick Waldron

commit sha d61dadd74e68208d4e8a09873482e22e9a37bc3c

Server: fix typo in media/endpoint

view details

Rick Waldron

commit sha 115b7d50f269ff50274e854325d6e544b92c883b

Server: media/endpoint image service

view details

Rick Waldron

commit sha 8878022a5576536b9a2ba058029a687fae172fff

RTE: icon overrides

view details

push time in 3 days

issue closedJiHong88/SunEditor

UX feedback re: "line breaker component"

During a recent UX test with client stakeholders, it was reported by several users that the "line breaker" (described as "that button with the slash in it") is confusing and frustrating. The issue came from users uploading images, then trying to add text content and having that not work as expected, but also not realizing that when they clicked away from the image they lost the button that would fix that for them.

Is there anyway to intercept the image markup injection to put line breaks around an image automatically?

closed time in 3 days

rwaldron

issue commentJiHong88/SunEditor

UX feedback re: "line breaker component"

Excellent!!

rwaldron

comment created time in 3 days

push eventtc39/test262

Leo Balter

commit sha 89f9c13449f1386b92915f3183b64a7645a56a7e

Expand tests for Optional Chaining

view details

push time in 4 days

push eventtc39/test262

Rick Waldron

commit sha a5da08adc1dfe2c2d92613541edd8742be58fd06

Promise.allSettled: coverage updates, R2

view details

push time in 4 days

push eventtc39/test262

Rick Waldron

commit sha 84e61498cd03651e60e2c7d87fb45d0390ce1419

Promise.allSettled: coverage updates, R2

view details

push time in 4 days

PR opened tc39/test262

Reviewers
Promise.allSettled: coverage updates, R2

@leobalter can you take a close look at this one for me?

+56 -2

0 comment

2 changed files

pr created time in 4 days

create barnchtc39/test262

branch : promise.allsettled-r2

created branch time in 4 days

pull request commentengine262/engine262

Promise: implement and integrate GetPromiseResolve

I think I can just run the code coverage report from this branch for now.

rwaldron

comment created time in 4 days

push eventrwaldron/engine262

Rick Waldron

commit sha e29c044f240baf1779451f8613472457de4bd153

Promise: implement and integrate GetPromiseResolve

view details

push time in 4 days

push eventtc39/test262

André Bargull

commit sha 836f609b08c35710a540acc389644b191c02e006

Update Atomics.exchange to allow non-shared buffers Follow-up for: https://github.com/tc39/test262/pull/2633

view details

push time in 4 days

PR merged tc39/test262

Update Atomics.exchange to allow non-shared buffers

Follow-up for: https://github.com/tc39/test262/pull/2633

+7 -7

0 comment

1 changed file

anba

pr closed time in 4 days

Pull request review commentdtex/j5e

Fn: minor refactoring

 export function normalizeDevice(options={}) {  */ export function normalizeMulti(options={}) {   if (!Array.isArray(options)) {+    let {io, pins, ...rest} = options;     // Loop through the pins property array and make sure each is an object-    let pins = options.pins.map(pin => {-      return normalizeIO(pin);-    });-    +    pins = options.pins.map(pin => normalizeIO(pin));     // If IO is defined on options use it as default-    if (options.io) {-      pins.forEach(pin => pin.io = pin.io || options.io);-      delete options.io;+    if (io) {+      pins.forEach(pin => pin.io = pin.io || io);     }-    +     // Copy each property that is not ```pins``` onto each member of the pins array-    delete options.pins;-    pins.map(pin => { return Object.assign(pin, options) });-    return pins;+    return pins.map(pin => Object.assign(pin, rest));   } else {-    return options.map(pin => {-      return normalizeIO(pin)-    });+    return options.map(pin => normalizeIO(pin));

That's one that I've used quite a bit in React code, especially when forwarding props:

function f(props) {
  const {a, b, forwardTheseProps} = props;
  return <Xyz { ...forwardTheseProps }>👍 </Xyz>;
}
rwaldron

comment created time in 4 days

Pull request review commentdtex/j5e

Fn: minor refactoring

 export function normalizeParams(options={}) {  * @param {(string|constructor)} [ioOpts.io] - If passing an object, a string specifying a path to the IO provider or a constructor  * @ignore  */-export function normalizeIO(options={}) {-  if (typeof options === "number" || typeof options === "string") {-    let result = {pin: options};-    return result;+export function normalizeIO(pin={}) {+  if (typeof pin === "number" || typeof pin === "string") {+    return {pin};   }-  return options;+  return pin;

I spent several minutes staring at this one as well, mulling the same question you're asking. I ended up landing on liking the property shorthand more 🤷 my feelings wouldn't be hurt if you changed it back

rwaldron

comment created time in 4 days

issue commentJiHong88/SunEditor

UX feedback re: "line breaker component"

Here's a mock up of what they've asked for, because "/" is meaningless: Screenshot 2020-06-30 15 15 54

Strike my original suggestion about intercepting the image markup as it gets inserted, I think the easiest solution would be to all embedders a way to customize the displayed text of that button.

rwaldron

comment created time in 4 days

pull request commentengine262/engine262

Promise: implement and integrate GetPromiseResolve

How safe/reliable is it to use the parser branch?

rwaldron

comment created time in 4 days

push eventrwaldron/engine262

Rick Waldron

commit sha 8099027ec8b3754abc75a121588da6ade974e9e3

Promise: implement and integrate GetPromiseResolve

view details

push time in 4 days

PR opened engine262/engine262

Promise: implement and integrate GetPromiseResolve

Refs:

  • https://tc39.es/ecma262/#sec-getpromiseresolve
  • https://tc39.es/ecma262/#_ref_9258
  • https://tc39.es/ecma262/#_ref_9297
  • https://tc39.es/ecma262/#_ref_9342
+47 -32

0 comment

1 changed file

pr created time in 4 days

create barnchrwaldron/engine262

branch : getpromiseresolve

created branch time in 4 days

PR opened tc39/test262

Reviewers
Promise.any: coverage updates, R4
+72 -0

0 comment

2 changed files

pr created time in 4 days

create barnchtc39/test262

branch : promise.any-r4

created branch time in 4 days

delete branch tc39/test262

delete branch : v8-with-all-flags

delete time in 4 days

delete branch tc39/test262

delete branch : update-expressions

delete time in 4 days

push eventbocoup/dcss

Rick Waldron

commit sha 540fd6dcc0f47c41266ccfe9fbe257fc0cbdec2f

Downloads: correct action

view details

push time in 4 days

push eventrwaldron/j5e

Rick Waldron

commit sha 4274eaa13dd0d6e9546eb58c710c53c57a9d9e4a

Fn: simplify ormalizeIO

view details

Rick Waldron

commit sha 88eb2c3284e25e10d12b4099a22dd548a78c1d5d

Fn: simplify normalizeMulti

view details

Rick Waldron

commit sha c21897c60fab46d80296a0ef51dbfc2e3b640984

Lint

view details

push time in 4 days

PR opened dtex/j5e

Fn: minor refactoring
+58 -39

0 comment

1 changed file

pr created time in 4 days

create barnchrwaldron/j5e

branch : fn

created branch time in 4 days

fork rwaldron/j5e

Framework for embedded devices using TC-53's IO pattern and Johnny-Five's API

https://dtex.github.io/j5e/

fork in 4 days

issue closedfirmata/firmata.js

Make this repo a monorepo with Lerna

  • [x] Publish firmata@1.0.0 in it's exact present form.
  • [x] Add lerna.json
  • [x] Move current firmata.js code to packages/*
  • [x] Split firmata.js into two packages:
    • [x] firmata-core: this is most of the current contents of this project, but without an implicit node-serialport dependency
    • [x] firmata.js: this is just a simple wrapper that "curries" Firmata with Serialport.
  • [x] Publish firmata@2.0.0 and firmata-core@2.0.0

closed time in 4 days

rwaldron

push eventfirmata/firmata.js

Jean-Philippe Côté

commit sha 999b1aba8caf95f7d8aab4a3261f89513f801eba

Create johnny-five-inside-nw.js-io-plugin.js

view details

push time in 4 days

push eventfirmata/firmata.js

Jean-Philippe Côté

commit sha a5432833fc20d40869ff85bbf09f3c3f392d95a2

Improve second example Check if manufacturer is defined before using startsWith() and log "Connected!" upon success

view details

push time in 4 days

PR merged firmata/firmata.js

Improve second example

Check if manufacturer is defined before using startsWith() and log "Connected!" upon success

+5 -1

2 comments

1 changed file

djipco

pr closed time in 4 days

push eventbocoup/dcss

Rick Waldron

commit sha 5a0e71aedd21d0e70987bed9821b8682a0f12ccb

Editor: fix RTE line breaker

view details

Rick Waldron

commit sha 0f63347d04d4ba38f0e5cae3e4b66579bad91235

Editor: images

view details

Rick Waldron

commit sha 45953392ec354773d0ad9df5bbf6b0a13a930717

Deps: suneditor@2.30.6

view details

Rick Waldron

commit sha 5ff71d4b85c4704c91cae919be9ccebfeaf18cf3

Editor: tweak zindex of components

view details

push time in 5 days

issue openedJiHong88/SunEditor

UX feedback re: "line breaker component"

During a recent UX test with client stakeholders, it was reported by several users that the "line breaker" (described as "that button with the slash in it") is confusing and frustrating. The issue came from users uploading images, then trying to add text content and having that not work as expected, but also not realizing that when they clicked away from the image they lost the button that would fix that for them.

Is there anyway to intercept the image markup injection to put line breaks around an image automatically?

created time in 5 days

push eventrwaldron/ecma262

Rick Waldron

commit sha c585b2927e6f6ee411ba069d75e15653691c8807

Empty the lint trap

view details

push time in 5 days

pull request commentwhatwg/html

Editorial: Correct misspelled variable name

It changes it from a "crash" to working code.

The guide in COMMITTING.md says that this commit message is correct:

Prefix the title line with "Editorial: " if the change is just to fix formatting, typos, or is a refactoring that does not change how the standard is understood. Note that bug fixes or clarifications are not editorial, even if they only affect non-normative text.

It's unlikely that anyone implemented this typo verbatim.

jugglinmike

comment created time in 5 days

pull request commentwhatwg/html

Editorial: Correct misspelled variable name

For future reference, bugfixes are not "editorial" since they change the meaning of the text.

What change of meaning does fixing this introduce?

jugglinmike

comment created time in 5 days

push eventbocoup/dcss

Rick Waldron

commit sha 2dd90b408ad2568fd97cd86a795774d7fade9e29

Editor: disable imageFileInput in RTE

view details

push time in 5 days

push eventbocoup/dcss

Rick Waldron

commit sha a1a6fcf2110172e931c5ec80ea1c39681e5aa413

History: separate from Scenarios

view details

push time in 5 days

push eventbocoup/dcss

Rick Waldron

commit sha 25aee6a8a002da484eaef55d32b2a6133eaa5c2c

CohortCard: show owner name when I'm not the owner or a participant

view details

push time in 5 days

push eventbocoup/dcss

Rick Waldron

commit sha 1f0af19271e65eb8d62749a595ec9fd8a679b03e

CohortCard: show owner name when I'm not the owner or a participant

view details

push time in 5 days

push eventbocoup/dcss

Rick Waldron

commit sha a8f19d1365210fb5cdc91c490207e33759972ea8

Downloads: "Research" => "Downloads", and all supporting changes

view details

push time in 6 days

CommitCommentEvent

push eventbocoup/dcss

Rick Waldron

commit sha 98dfe6e9c24161ab569c16c79afa280c23d17e4f

User/Session: refresh session on every top level request

view details

Rick Waldron

commit sha c7141bcd391fcdd36c9475fc0978364a534a7a61

CohortParticipants/CohortScenarios: updates to permissions/roles, is_super context

view details

Rick Waldron

commit sha 73a8d2bc280c5969d5551a0ccbaa597d9ce7bec1

Researcher: download all for super users

view details

Rick Waldron

commit sha bb5640b4c313d241de9be93acb0219fa0951c0c8

Component: duplicate component

view details

push time in 7 days

starteddtex/j5e

started time in 8 days

push eventbocoup/dcss

Rick Waldron

commit sha 6c46dcc3800f4abf00f9ac65ae995b1c4467f984

Server: cohorts, order by created_at

view details

push time in 8 days

push eventbocoup/dcss

Rick Waldron

commit sha bc33c7e1a634bcadcba2c61c1e291949f27972c3

Cohorts: ensure super admin access

view details

Rick Waldron

commit sha bdac3ef92e83ae8d40c3ae85a48b4bd782055404

UI: update linting to support "export * as default from ..."

view details

Rick Waldron

commit sha 93f8f3fb14376b92b86051d285ce12925d9ac886

UI: disable "export * as default from ..." until migration

view details

Rick Waldron

commit sha ce3291ba29b0ff7b3b29094b15ac5ab1811ff0b3

MenuItem: cleanup

view details

Rick Waldron

commit sha 1c10feaccff348868db20dd3c2782103072b05a0

CohortParticipants: use is_super

view details

push time in 8 days

push eventbocoup/dcss

Rick Waldron

commit sha 5f84852bb19a879af421cf233d900ea8f4166f0d

Cohort: use this.props.getAllCohorts() for super admin

view details

Rick Waldron

commit sha 0521828819b2cc27496dddd5e7d90bc8fb803782

Lint fixes

view details

push time in 9 days

push eventbocoup/dcss

Rick Waldron

commit sha 18ca7066d9ef30182f9b8bef468f8eb9c1eb5e8b

Cohort: owners are facilitators

view details

Rick Waldron

commit sha d1b1b070d624b71dc4d63277c66f20c8d33b2837

Lint fixes

view details

Rick Waldron

commit sha e7d40d7f3a9522e0ea83f0761b3aef1ff8d97fe7

CohortScenarios: fix participant refresh

view details

Rick Waldron

commit sha 655aca0f20eb417bf973f15c6f238347e98f6753

Editor: run scenario button

view details

push time in 9 days

push eventbocoup/dcss

Rick Waldron

commit sha 9682c4435ef636515be9e5c73ddc241aab9f9e5c

CohortParticipants: don't forget to import Table

view details

push time in 9 days

push eventbocoup/dcss

Rick Waldron

commit sha 87590a06d5f4e625193d8c9a35ed5dedc2679840

UI: create a new single home for semantic ui and any extensions

view details

Rick Waldron

commit sha af21beac97b1920ab2d3a2c9b3c319b42aed630d

Dependencies: update babel; add jszip

view details

Rick Waldron

commit sha 21dbeb131bf84c460edea17c2cec2183a9723f22

CSV.downloadZipAsync

view details

Rick Waldron

commit sha 8d9e6ed9284b7c438598845ec80206dda453f4de

UI: implement semantic-ui-react wrapper

view details

Rick Waldron

commit sha b648d8733963785da43e36bd4e50420572695cd2

UI: migrate to @components/UI

view details

Rick Waldron

commit sha b7f44e248a55186b6b1c1f707aefc07b0bc25971

Server: update tags endpoint

view details

Rick Waldron

commit sha f5fc456056a4b41b15e59f70cf0f23741fd81808

Config: update babel plugins

view details

Rick Waldron

commit sha 70344b238cd67ce2b3a1ccab856a33138104f6e5

Researcher: implement cohort data download

view details

push time in 9 days

push eventbocoup/dcss

Rick Waldron

commit sha a7d2cbc565fc18e96f895a738c42c5316809b713

Cohorts: make cohort title links match others

view details

push time in 10 days

create barnchtc39/test262

branch : atomics-waitasync-additional-gaurds

created branch time in 10 days

issue commenttc39/test262

Optional Call receiver with parentheses

@leobalter is this in scope for your test refactoring?

jridgewell

comment created time in 10 days

issue closedtc39/test262

add test for super construct check being after arguments

refs: https://github.com/tc39/ecma262/pull/1775

seems some tests need updates: https://github.com/tc39/test262/blob/ee3715ee56744ccc8aeb22a921f442e98090b3c1/test/language/statements/class/subclass/class-definition-null-proto-super.js#L58 https://github.com/tc39/test262/blob/ee3715ee56744ccc8aeb22a921f442e98090b3c1/implementation-contributed/v8/mjsunit/regress/regress-crbug-696622.js#L11-L14

closed time in 10 days

bmeck

issue commenttc39/test262

add test for super construct check being after arguments

The current tests no longer contain this code.

bmeck

comment created time in 10 days

issue closedtc39/test262

Allow Atomics methods on ArrayBuffers

I will follow up on https://github.com/tc39/ecma262/pull/1908

  • [x] Atomics.notify changed to always return 0 on non-shared
  • [x] Allow non-shared array buffer:
    • [x] Atomics.load
    • [x] Atomics.store
    • [x] Atomics.add
    • [x] Atomics.sub
    • [x] Atomics.and
    • [x] Atomics.or
    • [x] Atomics.xor
    • [x] Atomics.exchange
    • [x] Atomics.compareExchange

closed time in 10 days

rwaldron

issue closedtc39/test262

AggregateError Updates

Ref: https://docs.google.com/presentation/d/1juwk662pDATPCPqPxlE8M9rBGeA9zAp0_sJBoxu3eMc/edit#slide=id.g8753e62b92_0_16

closed time in 10 days

rwaldron

PR opened tc39/test262

README: where did website go?
  • Includes removal of website directory
+6 -2889

0 comment

35 changed files

pr created time in 10 days

create barnchtc39/test262

branch : remove-website

created branch time in 10 days

create barnchtc39/test262

branch : preserved-website-directory

created branch time in 10 days

push eventtc39/test262

Rick Waldron

commit sha 2f12ab71f8a1c6f2ffa971961b31cbf43b329ffe

Promise: use .then($DONE, $DONE) wherever possible

view details

Rick Waldron

commit sha d76701d86ded7e83ac3f53fc40ca69cc474f57e6

Template: use .then($DONE, $DONE) wherever possible

view details

Rick Waldron

commit sha a816c037354d090db23d58bcab6a9d3cc501732f

Generate tests

view details

Rick Waldron

commit sha db618e202b72c340e736e3d965415a412b80d5a8

Case: use .then($DONE, $DONE) wherever possible

view details

Rick Waldron

commit sha 362d7af20ff9a9d154ae2c8c3987bec58a33c792

Generate tests

view details

Rick Waldron

commit sha ae7b606cc25a542d781662cd1f11e07483b79c9d

Atomics: use .then($DONE, $DONE) wherever possible

view details

Leo Balter

commit sha 3fac29109a4e86142796ec89c4c381c5ca255e94

Merge pull request #2675 from tc39/use-then-done-done Use .then($DONE, $DONE) wherever possible

view details

Rick Waldron

commit sha 4eb4728149cee5b7db3dd6e0c655ee86d30edb19

Atomics.waitAsync: await $262.agent.getReportAsync() in a loop, instead of calling thrice asynchronously. Fixes 2664

view details

push time in 10 days

create barnchtc39/test262

branch : atomics-good-views

created branch time in 10 days

delete branch tc39/test262

delete branch : circle-ci-job-naming-clarifications

delete time in 10 days

PR opened tc39/test262

Reviewers
Use .then($DONE, $DONE) wherever possible
+510 -510

0 comment

478 changed files

pr created time in 10 days

push eventtc39/test262

Rick Waldron

commit sha 040eb5393a6c3e854a7ab5e86b54f3dac841162e

Promises: whenever evaluating checkSequence(sequence), also assert length of sequence (#2672)

view details

Rick Waldron

commit sha 2f12ab71f8a1c6f2ffa971961b31cbf43b329ffe

Promise: use .then($DONE, $DONE) wherever possible

view details

Rick Waldron

commit sha d76701d86ded7e83ac3f53fc40ca69cc474f57e6

Template: use .then($DONE, $DONE) wherever possible

view details

Rick Waldron

commit sha a816c037354d090db23d58bcab6a9d3cc501732f

Generate tests

view details

Rick Waldron

commit sha db618e202b72c340e736e3d965415a412b80d5a8

Case: use .then($DONE, $DONE) wherever possible

view details

Rick Waldron

commit sha 362d7af20ff9a9d154ae2c8c3987bec58a33c792

Generate tests

view details

Rick Waldron

commit sha ae7b606cc25a542d781662cd1f11e07483b79c9d

Atomics: use .then($DONE, $DONE) wherever possible

view details

push time in 10 days

push eventtc39/test262

Rick Waldron

commit sha b6cc266c996baeabd95febe2c6d68edcd9ad0319

Case: use .then($DONE, $DONE) wherever possible

view details

Rick Waldron

commit sha 7219b876185bcce9aedf1a5e1b4e2d659b49ac1b

Generate tests

view details

Rick Waldron

commit sha bb23ff29d4143414031042b37201f47b8a1e2544

Atomics: use .then($DONE, $DONE) wherever possible

view details

push time in 10 days

create barnchtc39/test262

branch : use-then-done-done

created branch time in 10 days

push eventtc39/test262

Alexey Shvayka

commit sha 545e66b25104f28fc875c3e53e3caee00ffdba3c

Add Array.prototype.indexOf test

view details

Alexey Shvayka

commit sha 20a1345bbe7ba0efc04963326c4b408d41480941

Add Array.prototype.lastIndexOf test

view details

push time in 10 days

PR merged tc39/test262

Test that length check is performed before ToInteger

TypedArray methods have similar tests, as well as Array.prototype.includes. String methods don't perform zero length check.

+44 -0

0 comment

2 changed files

shvaikalesh

pr closed time in 10 days

push eventtc39/test262

Rick Waldron

commit sha 9dbaa95aedd7620028f9ae8db8c0e454db92c9c3

Promise.race: coverage updates (#2666) Ref #2629

view details

André Bargull

commit sha c91c31fe9345bd7062052d26b6e5994f49d91891

Adjust description for IsHTMLDDA to allow more than one argument (#2674) The following tests call `IsHTMLDDA` with more than one argument: - annexB/built-ins/String/prototype/split/custom-splitter-emulates-undefined.js - annexB/built-ins/String/prototype/replaceAll/custom-replacer-emulates-undefined - annexB/built-ins/String/prototype/replace/custom-replacer-emulates-undefined.js

view details

Rick Waldron

commit sha 82a3c1252c64b6848570bf102233a33c3e34d244

Promises: whenever evaluating checkSequence(sequence), also assert length of sequence

view details

push time in 10 days

push eventtc39/test262

Rick Waldron

commit sha 53597b65d54782d9af80785fe60c7d7a5b62fe7e

Update README.md Co-authored-by: Leo Balter <leonardo.balter@gmail.com>

view details

push time in 10 days

push eventtc39/test262

Rick Waldron

commit sha 7a729393eff53912abe87d20986c2e3f54915807

Lint

view details

push time in 10 days

PR opened tc39/test262

Reviewers
README: information about CI results
+5 -0

0 comment

1 changed file

pr created time in 10 days

create barnchtc39/test262

branch : ci-info-readme

created branch time in 10 days

PR opened tc39/test262

Promise coverage assert sequence length

This is a follow up from https://github.com/tc39/test262/pull/2666#pullrequestreview-434719626

+775 -21

0 comment

48 changed files

pr created time in 10 days

pull request commenttc39/test262

replace Test262Error with $ERROR when possible

I was also going to add that this is clearly marked as DEPRECATED in https://github.com/tc39/test262/blob/master/CONTRIBUTING.md

Meir017

comment created time in 10 days

delete branch tc39/test262

delete branch : promise-race-coverage-p2

delete time in 10 days

create barnchtc39/test262

branch : promise-coverage-assert-sequence-length

created branch time in 10 days

create barnchtc39/test262

branch : promise-race-coverage-p2

created branch time in 10 days

push eventtc39/test262

Leo Balter

commit sha 5908ed29ac04a9f5582bb774ca07f8089d3cddfd

Fix tests for HTML comments in function body evaluation (#2109) Ref tc39/ecma262#1479

view details

Toru Nagashima

commit sha 28c6ea208d2e4106420bb322b2d06f2570edc266

add eval-optional-call.js (#2667)

view details

André Bargull

commit sha d42aaa4b15c0aac400c7c99231a85b067b5906f0

Expect `undefined` when no fractional second digits are present Change the expected value per the current PR.

view details

André Bargull

commit sha 630f7dee66edbe26e9e137dcdc90c8b078342c04

Updated expected error in NumberFormat constructor per current spec

view details

André Bargull

commit sha 660a3d651206c0e9c5cfbb49525cf9ae7e162170

Remove built-ins/NativeErrors/AggregateError/prototype/errors The `errors` property accessors has been removed from the spec proposal.

view details

André Bargull

commit sha 3d411fa969aacb2024571b52f258b365413beee0

Assert 'errors' is absent for AggregateError.prototype

view details

André Bargull

commit sha 649d0d2c9a996b4ecc3aae94e79109ff8bf80812

Update list of non-algorithmic numbering systems Per https://github.com/tc39/ecma402/pull/438

view details

Meir Blachman

commit sha f7322cca7ab830082d4a616a10fb6545972a0495

use $ERROR instead of throwing in 15.2.3.7-2-18.js

view details

Rick Waldron

commit sha 302f37eeff0b896fb21cea9e421f8a0d79aa415f

Atomics.notify changed to always return 0 on non-shared

view details

Rick Waldron

commit sha 11a1eabcc627ff46190c9b84631fdfac57434431

Atomics.load will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 8182e4efc42cbc82b3ba1dac49bbf0324b9918c4

Atomics.store will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha b4517aa192f5025d7d5eb3ada7c5c278690b4271

Atomics.add will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha f82e09bab0baeea997c4569a376fae8e3e90ff15

Atomics.and will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha eb5120a1e9302485bdd59a4cebb74516eab55328

Atomics.compareExchange will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 1f977dc9fcaacb457e82e4321e1a0d5cf292e608

Atomics.exchange will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 2979e917a246fc246d39060d5297f8b40221566d

Atomics: fix assertion messages

view details

Rick Waldron

commit sha 9e7b4e733d7e1aa8df29633ccbe583f285eac46f

Fix license lint & issues

view details

Rick Waldron

commit sha e1c71a65e22a2b4bda12d665beea4a58ed82c2fe

fixup! Atomics.and will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 131165be7e7e0009c52aa766cac377e7f702af54

Atomics.or will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 5e43594d44d1981cb0806c2c249378c4f718423c

Atomics.store will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

push time in 10 days

Pull request review commenttc39/test262

Promise.race: coverage updates (ref gh-2629)

+// Copyright (C) 2020 Rick Waldron. All rights reserved.+// This code is governed by the BSD license found in the LICENSE file.++/*---+esid: sec-promise.race+description: Resolution ticks are set in a predictable sequence with extra then calls+info: |+  PerformPromiseRace++  Repeat,+    Let next be IteratorStep(iteratorRecord).+    If next is an abrupt completion, set iteratorRecord.[[Done]] to true.+    ReturnIfAbrupt(next).+    If next is false, then+      Set iteratorRecord.[[Done]] to true.+      Return resultCapability.[[Promise]].+    Let nextValue be IteratorValue(next).+    If nextValue is an abrupt completion, set iteratorRecord.[[Done]] to true.+    ReturnIfAbrupt(nextValue).+    Let nextPromise be ? Call(promiseResolve, constructor, « nextValue »).+    Perform ? Invoke(nextPromise, "then", « resultCapability.[[Resolve]], resultCapability.[[Reject]] »).++flags: [async]+includes: [compareArray.js,promiseHelper.js]+---*/++let a = new Promise(resolve => resolve({}));+let sequence = [1];+Promise.all([+  Promise.race([a]).then(resolved => {+    sequence.push(4);+  }),+  a.then(() => {+    sequence.push(3);+  }).then(() => {+    sequence.push(5);+  }),+]).then(() => {+  checkSequence(sequence);

The presence of .then($DONE, $DONE); ensures that no rejections get swallowed. Anything that passes through $DONE, which is not undefined, is treated as a failure message.

You can test this by putting throw 1; anywhere in the test:

let a = new Promise(resolve => {throw 1; resolve({})});
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
  }),
  a.then(() => {
    sequence.push(3);
  }).then(() => {
    sequence.push(5);
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    throw 1;
    sequence.push(4);
  }),
  a.then(() => {
    sequence.push(3);
  }).then(() => {
    sequence.push(5);
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
    throw 1;
  }),
  a.then(() => {
    sequence.push(3);
  }).then(() => {
    sequence.push(5);
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
  }),
  a.then(() => {
    throw 1;
    sequence.push(3);
  }).then(() => {
    sequence.push(5);
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
  }),
  a.then(() => {
    sequence.push(3);
    throw 1;
  }).then(() => {
    sequence.push(5);
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
  }),
  a.then(() => {
    sequence.push(3);
  }).then(() => {
    throw 1;
    sequence.push(5);
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
  }),
  a.then(() => {
    sequence.push(3);
  }).then(() => {
    sequence.push(5);
    throw 1;
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
  }),
  a.then(() => {
    sequence.push(3);
  }).then(() => {
    sequence.push(5);
  }),
]).then(() => {
    throw 1;
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
  }),
  a.then(() => {
    sequence.push(3);
  }).then(() => {
    sequence.push(5);
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
    throw 1;
  checkSequence(sequence);
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
let a = new Promise(resolve => resolve({}));
let sequence = [1];
Promise.all([
  Promise.race([a]).then(resolved => {
    sequence.push(4);
  }),
  a.then(() => {
    sequence.push(3);
  }).then(() => {
    sequence.push(5);
  }),
]).then(() => {
  assert.sameValue(sequence.length, 5);
  checkSequence(sequence);
    throw 1;
}).then($DONE, $DONE);
sequence.push(2);

Result :

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (default)
  1

FAIL test/built-ins/Promise/race/resolved-sequence-extra-ticks.js (strict mode)
  1
rwaldron

comment created time in 10 days

Pull request review commenttc39/test262

Promise.race: coverage updates (ref gh-2629)

+// Copyright (C) 2020 Rick Waldron. All rights reserved.+// This code is governed by the BSD license found in the LICENSE file.++/*---+esid: sec-promise.race+description: Resolution ticks are set in a predictable sequence with extra then calls+info: |+  PerformPromiseRace++  Repeat,+    Let next be IteratorStep(iteratorRecord).+    If next is an abrupt completion, set iteratorRecord.[[Done]] to true.+    ReturnIfAbrupt(next).+    If next is false, then+      Set iteratorRecord.[[Done]] to true.+      Return resultCapability.[[Promise]].+    Let nextValue be IteratorValue(next).+    If nextValue is an abrupt completion, set iteratorRecord.[[Done]] to true.+    ReturnIfAbrupt(nextValue).+    Let nextPromise be ? Call(promiseResolve, constructor, « nextValue »).+    Perform ? Invoke(nextPromise, "then", « resultCapability.[[Resolve]], resultCapability.[[Reject]] »).++flags: [async]+includes: [compareArray.js,promiseHelper.js]+---*/++let a = new Promise(resolve => resolve({}));+let sequence = [1];+Promise.all([+  Promise.race([a]).then(resolved => {+    sequence.push(4);+  }),+  a.then(() => {+    sequence.push(3);+  }).then(() => {+    sequence.push(5);+  }),+]).then(() => {+  checkSequence(sequence);

When I add throw 1 before line 39, this test will fail, so there is no dead code there. The presence of .then($DONE, $DONE); ensures that no rejections get swallowed. Anything that passes through $DONE, which is not undefined, is treated as a failure message.

rwaldron

comment created time in 10 days

Pull request review commenttc39/test262

Promise.race: coverage updates (ref gh-2629)

+// Copyright (C) 2020 Rick Waldron. All rights reserved.+// This code is governed by the BSD license found in the LICENSE file.++/*---+esid: sec-promise.race+description: >+  Resolution ticks are set in a predictable sequence of mixed fulfilled and rejected promises+info: |+  PerformPromiseRace++  Repeat,+    Let next be IteratorStep(iteratorRecord).+    If next is an abrupt completion, set iteratorRecord.[[Done]] to true.+    ReturnIfAbrupt(next).+    If next is false, then+      Set iteratorRecord.[[Done]] to true.+      Return resultCapability.[[Promise]].+    Let nextValue be IteratorValue(next).+    If nextValue is an abrupt completion, set iteratorRecord.[[Done]] to true.+    ReturnIfAbrupt(nextValue).+    Let nextPromise be ? Call(promiseResolve, constructor, « nextValue »).+    Perform ? Invoke(nextPromise, "then", « resultCapability.[[Resolve]], resultCapability.[[Reject]] »).++flags: [async]+includes: [compareArray.js,promiseHelper.js]+---*/++let a = new Promise((_, reject) => reject(''));+let b = new Promise(resolve => resolve(''));+let c = new Promise((_, reject) => reject(''));+let sequence = [1];+Promise.all([+  a.catch(() => {+    sequence.push(3);+    checkSequence(sequence, 'Expected to be called first.');+  }),+  Promise.race([a, b, c]).then(() => {+    sequence.push(6);+    checkSequence(sequence, 'Expected to be called fourth.');

Whoops

rwaldron

comment created time in 10 days

pull request commenttc39/test262

Atomics relaxation

@leobalter thanks for thr ✅ , @anba thanks for the reviews

rwaldron

comment created time in 10 days

push eventtc39/test262

Rick Waldron

commit sha 302f37eeff0b896fb21cea9e421f8a0d79aa415f

Atomics.notify changed to always return 0 on non-shared

view details

Rick Waldron

commit sha 11a1eabcc627ff46190c9b84631fdfac57434431

Atomics.load will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 8182e4efc42cbc82b3ba1dac49bbf0324b9918c4

Atomics.store will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha b4517aa192f5025d7d5eb3ada7c5c278690b4271

Atomics.add will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha f82e09bab0baeea997c4569a376fae8e3e90ff15

Atomics.and will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha eb5120a1e9302485bdd59a4cebb74516eab55328

Atomics.compareExchange will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 1f977dc9fcaacb457e82e4321e1a0d5cf292e608

Atomics.exchange will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 2979e917a246fc246d39060d5297f8b40221566d

Atomics: fix assertion messages

view details

Rick Waldron

commit sha 9e7b4e733d7e1aa8df29633ccbe583f285eac46f

Fix license lint & issues

view details

Rick Waldron

commit sha e1c71a65e22a2b4bda12d665beea4a58ed82c2fe

fixup! Atomics.and will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 131165be7e7e0009c52aa766cac377e7f702af54

Atomics.or will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 5e43594d44d1981cb0806c2c249378c4f718423c

Atomics.store will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha e4d24694ea5ab3e8a2d6883bd496e23e29669c27

Atomics.sub will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha d3980866c8670809b89d7ac36841b2d1580dfe3c

Atomics.xor will operate on TA when TA.buffer is not a SharedArrayBuffer

view details

Rick Waldron

commit sha 4adc41eccf1c03e6a970a872c9f277668d20db61

Atomics.* assertion messages and formatting

view details

Rick Waldron

commit sha 7e603ae23681b9c770e1f7818c19f86f26b993c4

Atomics: fix mispelled harness function name

view details

Rick Waldron

commit sha 529cff8ee6238d9ec71d88a54f1c2b374da84e14

Atomics: corrections

view details

Rick Waldron

commit sha 729fa02951a4dc14ab13a10568933d9bf5e24d7a

Atomics: update Atomics.sub to match latest proposed spec change https://github.com/tc39/ecma262/pull/1908#issuecomment-647614204

view details

push time in 10 days

delete branch tc39/test262

delete branch : atomics-relaxation

delete time in 10 days

PR merged tc39/test262

Atomics relaxation
+698 -382

3 comments

58 changed files

rwaldron

pr closed time in 10 days

push eventtc39/test262

Meir Blachman

commit sha f7322cca7ab830082d4a616a10fb6545972a0495

use $ERROR instead of throwing in 15.2.3.7-2-18.js

view details

push time in 10 days

PR merged tc39/test262

use $ERROR instead of throwing in 15.2.3.7-2-18.js
+3 -1

2 comments

1 changed file

Meir017

pr closed time in 10 days

push eventtc39/test262

Alexey Shvayka

commit sha 9cfcd7bcb0d8d2ac11c947d19deb3c81a5c30481

Add yield* tests

view details

Alexey Shvayka

commit sha 7f53ea671cf24ef2dbc8dd65a461c2e7aec302ba

Add for/of tests

view details

Alexey Shvayka

commit sha 02013fd1d6e109f0cd48157645dac1634efaee59

Add AsyncFromSyncIterator tests

view details

Alexey Shvayka

commit sha 919415704b7dcc7377d210b6499f9816bbf50c53

Add TypedArrayConstructors test

view details

Alexey Shvayka

commit sha 616978791d72781f1e0ea4f90b43a01705913a58

Use Promise chaining

view details

Alexey Shvayka

commit sha f4b30daf12c39f38b58686a6ba791051eece242e

Rename & improve "length" test

view details

Alexey Shvayka

commit sha 38050f0cdd981200f3294574624741df668a9bc4

Add string primitive test

view details

Alexey Shvayka

commit sha 3a4bd7d05031452ea45780077b091a3e0b207c95

Add symbol primitive test

view details

Alexey Shvayka

commit sha 0fcc51c9e211651a8904c44c58a6ed8e55256f3f

Update copyright for "length" test

view details

Rick Waldron

commit sha 3604a65a2980038b241f1ac8300b07c45db4e54f

Promise.any: coverage updates, R1

view details

Rick Waldron

commit sha 9999dff8fddaa68da6591245ea06b7835fee2046

Promise.any: coverage updates, R2

view details

Rick Waldron

commit sha 081afde9c192ab4cae539ae7fcb57c160253ee11

Promise.any: coverage updates, R3

view details

Alexey Shvayka

commit sha cf37b039a81bf18a777df873bbd4c0ad317e6610

Update Promise.all tests

view details

Alexey Shvayka

commit sha c915741594b3f0b0a9ac5e9adcf9655d9ea783d0

Update Promise.allSettled tests

view details

Alexey Shvayka

commit sha fb88b47938b0b4fa1bae4632d1650c98965c5fd8

Update Promise.race tests

view details

Alexey Shvayka

commit sha 290ceba31fea9408f71b99f0e14f4d3c4ee7bbb5

Update Promise.any tests

view details

Frank Tang

commit sha c6fd7eb602e55dfa157e838e557ed466d04a43c8

Update Intl.Segmenter to latest spec Remove methods removed in the latest reversion. Still need to add tests for: 1.5.2.1 %SegmentsPrototype%.containing ( index ) 1.6.2.1 %SegmentIteratorPrototype%.next () 1.6.2.2 %SegmentIteratorPrototype% [ @@toStringTag ]

view details

Frank Tang

commit sha ae0de0b6bbc8e74cf98e2d96c659a2d824f0e7f0

Remove redundant assert

view details

Justin Ridgewell

commit sha cbea4668830efb182357a36cbd788070357632fd

Add test for NamedEvaluation of Logical Assignment

view details

Justin Ridgewell

commit sha 5783f55b7075b4a494cc46137945667d99bbc3ef

Fix init values

view details

push time in 10 days

more