From 82051d8f6a533e17a636f185c4e11f859c48b323 Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Mon, 25 Apr 2016 17:06:51 -0400 Subject: [PATCH 1/4] [generation] Strip whitespace from generated YAML --- tools/generation/lib/template.py | 2 +- .../test/expected/normal/features-normal.js | 14 ++++++++++++++ .../test/fixtures/normal/features.template | 8 ++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 tools/generation/test/expected/normal/features-normal.js create mode 100644 tools/generation/test/fixtures/normal/features.template diff --git a/tools/generation/lib/template.py b/tools/generation/lib/template.py index fa891f00be..bdd3eb1bcd 100644 --- a/tools/generation/lib/template.py +++ b/tools/generation/lib/template.py @@ -119,7 +119,7 @@ class Template: features += case_values['meta'].get('features', []) features += self.attribs['meta'].get('features', []) if len(features): - lines += ['features: ' + yaml.dump(features)] + lines += ['features: ' + yaml.dump(features).strip()] flags = ['generated'] flags += case_values['meta'].get('flags', []) diff --git a/tools/generation/test/expected/normal/features-normal.js b/tools/generation/test/expected/normal/features-normal.js new file mode 100644 index 0000000000..edc8a5a51b --- /dev/null +++ b/tools/generation/test/expected/normal/features-normal.js @@ -0,0 +1,14 @@ +// This file was procedurally generated from the following sources: +// - tools/generation/test/fixtures/normal.case +// - tools/generation/test/fixtures/normal/features.template +/*--- +description: foobar (First template name) +es6id: 1.2.3 +features: [f1] +flags: [generated, a, b] +includes: [foo.js] +info: > + case info +---*/ + +'This is "teardown" code.'; diff --git a/tools/generation/test/fixtures/normal/features.template b/tools/generation/test/fixtures/normal/features.template new file mode 100644 index 0000000000..ce2dcc2b7e --- /dev/null +++ b/tools/generation/test/fixtures/normal/features.template @@ -0,0 +1,8 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +name: First template name +path: normal/features- +es6id: 1.2.3 +features: [f1] +---*/ From 3777273b5dc12bd75d01422a2f5f130454c67da2 Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Tue, 26 Apr 2016 10:03:56 -0400 Subject: [PATCH 2/4] [generation] Avoid generating trailing whitespace --- tools/generation/lib/template.py | 6 +++- .../normal/info-multiline-folding-normal.js | 36 +++++++++++++++++++ .../normal/info-multiline-folding.template | 30 ++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 tools/generation/test/expected/normal/info-multiline-folding-normal.js create mode 100644 tools/generation/test/fixtures/normal/info-multiline-folding.template diff --git a/tools/generation/lib/template.py b/tools/generation/lib/template.py index bdd3eb1bcd..92b8016f3c 100644 --- a/tools/generation/lib/template.py +++ b/tools/generation/lib/template.py @@ -20,7 +20,11 @@ def indent(text, prefix = ' '): else: lines = text.split('\n') - return prefix + ('\n' + prefix).join(lines) + indented = map( + lambda line: line if len(line) == 0 else prefix + line, + lines) + + return '\n'.join(indented) class Template: def __init__(self, filename): diff --git a/tools/generation/test/expected/normal/info-multiline-folding-normal.js b/tools/generation/test/expected/normal/info-multiline-folding-normal.js new file mode 100644 index 0000000000..0c9a1f1674 --- /dev/null +++ b/tools/generation/test/expected/normal/info-multiline-folding-normal.js @@ -0,0 +1,36 @@ +// This file was procedurally generated from the following sources: +// - tools/generation/test/fixtures/normal.case +// - tools/generation/test/fixtures/normal/info-multiline-folding.template +/*--- +description: foobar (First template name) +es6id: 1.2.3 +flags: [generated, a, b] +includes: [foo.js] +info: > + This is an "info" field with an + + empty line + Trailing white space in the template: + should be preserved: + + + + + + + + + case info +---*/ + +// Trailing white space in the test body: +// should be preserved: + + + + + + + + +'This is "teardown" code.'; diff --git a/tools/generation/test/fixtures/normal/info-multiline-folding.template b/tools/generation/test/fixtures/normal/info-multiline-folding.template new file mode 100644 index 0000000000..d2ede4bf76 --- /dev/null +++ b/tools/generation/test/fixtures/normal/info-multiline-folding.template @@ -0,0 +1,30 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +name: First template name +path: normal/info-multiline-folding- +es6id: 1.2.3 +info: | + This is an "info" field with an + + empty line + Trailing white space in the template: + should be preserved: + + + + + + + +---*/ + +// Trailing white space in the test body: +// should be preserved: + + + + + + + From eb1c382aa5d6da20d6de50823e82a60c2c619e07 Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Tue, 26 Apr 2016 13:43:14 -0400 Subject: [PATCH 3/4] [generation] Preserve newlines in `info` tag --- tools/generation/lib/template.py | 2 +- tools/generation/test/expected/normal/features-normal.js | 2 +- .../test/expected/normal/info-multiline-folding-normal.js | 2 +- tools/generation/test/expected/normal/nested/path2-normal.js | 2 +- tools/generation/test/expected/normal/no-info-normal.js | 2 +- tools/generation/test/expected/normal/path1-normal.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/generation/lib/template.py b/tools/generation/lib/template.py index 92b8016f3c..f3255ed97d 100644 --- a/tools/generation/lib/template.py +++ b/tools/generation/lib/template.py @@ -149,7 +149,7 @@ class Template: info.append(indent(case_values['meta']['info'])) if len(info): - lines.append('info: >') + lines.append('info: |') lines += info lines.append('---*/') diff --git a/tools/generation/test/expected/normal/features-normal.js b/tools/generation/test/expected/normal/features-normal.js index edc8a5a51b..f874b89137 100644 --- a/tools/generation/test/expected/normal/features-normal.js +++ b/tools/generation/test/expected/normal/features-normal.js @@ -7,7 +7,7 @@ es6id: 1.2.3 features: [f1] flags: [generated, a, b] includes: [foo.js] -info: > +info: | case info ---*/ diff --git a/tools/generation/test/expected/normal/info-multiline-folding-normal.js b/tools/generation/test/expected/normal/info-multiline-folding-normal.js index 0c9a1f1674..1f31f7195b 100644 --- a/tools/generation/test/expected/normal/info-multiline-folding-normal.js +++ b/tools/generation/test/expected/normal/info-multiline-folding-normal.js @@ -6,7 +6,7 @@ description: foobar (First template name) es6id: 1.2.3 flags: [generated, a, b] includes: [foo.js] -info: > +info: | This is an "info" field with an empty line diff --git a/tools/generation/test/expected/normal/nested/path2-normal.js b/tools/generation/test/expected/normal/nested/path2-normal.js index d9da70500a..fc85583e75 100644 --- a/tools/generation/test/expected/normal/nested/path2-normal.js +++ b/tools/generation/test/expected/normal/nested/path2-normal.js @@ -6,7 +6,7 @@ description: foobar (Second template name) esid: sec-a-generic-id flags: [generated, a, b] includes: [foo.js, bar.js] -info: > +info: | template info case info diff --git a/tools/generation/test/expected/normal/no-info-normal.js b/tools/generation/test/expected/normal/no-info-normal.js index 903028036b..423098e50f 100644 --- a/tools/generation/test/expected/normal/no-info-normal.js +++ b/tools/generation/test/expected/normal/no-info-normal.js @@ -6,7 +6,7 @@ description: foobar (First template name) es6id: 1.2.3 flags: [generated, a, b] includes: [foo.js] -info: > +info: | case info ---*/ diff --git a/tools/generation/test/expected/normal/path1-normal.js b/tools/generation/test/expected/normal/path1-normal.js index 3bc10d0e9f..7e00fbe6b0 100644 --- a/tools/generation/test/expected/normal/path1-normal.js +++ b/tools/generation/test/expected/normal/path1-normal.js @@ -6,7 +6,7 @@ description: foobar (First template name) es6id: 1.2.3 flags: [generated, a, b, c, d] includes: [foo.js] -info: > +info: | template info case info From 73a7e23061699e47623c7f03fa2556cea68d88b1 Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Tue, 26 Apr 2016 13:48:22 -0400 Subject: [PATCH 4/4] Re-generate tests --- .../arrow-function/dstr-ary-name-iter-val.js | 20 ++++++------- .../call/spread-err-sngl-err-expr-throws.js | 13 ++++---- .../expressions/call/spread-sngl-iter.js | 13 ++++---- .../class/dstr-gen-meth-ary-name-iter-val.js | 30 +++++++++---------- .../dstr-gen-meth-static-ary-name-iter-val.js | 30 +++++++++---------- .../class/dstr-meth-ary-name-iter-val.js | 30 +++++++++---------- .../dstr-meth-static-ary-name-iter-val.js | 30 +++++++++---------- .../function/dstr-ary-name-iter-val.js | 20 ++++++------- .../generators/dstr-ary-name-iter-val.js | 20 ++++++------- .../new/spread-err-sngl-err-expr-throws.js | 13 ++++---- .../expressions/new/spread-sngl-iter.js | 13 ++++---- .../object/dstr-gen-meth-ary-name-iter-val.js | 20 ++++++------- .../object/dstr-meth-ary-name-iter-val.js | 20 ++++++------- .../super/spread-err-sngl-err-expr-throws.js | 9 +++--- .../expressions/super/spread-sngl-iter.js | 9 +++--- .../class/dstr-gen-meth-ary-name-iter-val.js | 30 +++++++++---------- .../dstr-gen-meth-static-ary-name-iter-val.js | 30 +++++++++---------- .../class/dstr-meth-ary-name-iter-val.js | 30 +++++++++---------- .../dstr-meth-static-ary-name-iter-val.js | 30 +++++++++---------- .../const/dstr-ary-name-iter-val.js | 8 ++--- .../function/dstr-ary-name-iter-val.js | 20 ++++++------- .../generators/dstr-ary-name-iter-val.js | 20 ++++++------- .../statements/let/dstr-ary-name-iter-val.js | 8 ++--- .../variable/dstr-ary-name-iter-val.js | 8 ++--- 24 files changed, 234 insertions(+), 240 deletions(-) diff --git a/test/language/expressions/arrow-function/dstr-ary-name-iter-val.js b/test/language/expressions/arrow-function/dstr-ary-name-iter-val.js index fe684355ed..62034aa679 100644 --- a/test/language/expressions/arrow-function/dstr-ary-name-iter-val.js +++ b/test/language/expressions/arrow-function/dstr-ary-name-iter-val.js @@ -5,26 +5,26 @@ description: SingleNameBinding with normal value iteration (arrow function expression) es6id: 14.2.16 flags: [generated] -info: > +info: | ArrowFunction : ArrowParameters => ConciseBody - + [...] 4. Let closure be FunctionCreate(Arrow, parameters, ConciseBody, scope, strict). [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -36,9 +36,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/call/spread-err-sngl-err-expr-throws.js b/test/language/expressions/call/spread-err-sngl-err-expr-throws.js index 2d70fa3d73..2aea859097 100644 --- a/test/language/expressions/call/spread-err-sngl-err-expr-throws.js +++ b/test/language/expressions/call/spread-err-sngl-err-expr-throws.js @@ -5,25 +5,24 @@ description: Spread operator applied to the only argument when evaluation throws (CallExpression) es6id: 12.3.4.1 features: [generators] - flags: [generated] -info: > +info: | CallExpression : MemberExpression Arguments - + [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - + 12.3.4.3 Runtime Semantics: EvaluateDirectCall - + 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation - + ArgumentList : ... AssignmentExpression - + 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). diff --git a/test/language/expressions/call/spread-sngl-iter.js b/test/language/expressions/call/spread-sngl-iter.js index d6d86102bf..84dbbaf6a1 100644 --- a/test/language/expressions/call/spread-sngl-iter.js +++ b/test/language/expressions/call/spread-sngl-iter.js @@ -5,25 +5,24 @@ description: Spread operator applied to the only argument with a valid iterator (CallExpression) es6id: 12.3.4.1 features: [Symbol.iterator] - flags: [generated] -info: > +info: | CallExpression : MemberExpression Arguments - + [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). - + 12.3.4.3 Runtime Semantics: EvaluateDirectCall - + 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation - + ArgumentList : ... AssignmentExpression - + 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). diff --git a/test/language/expressions/class/dstr-gen-meth-ary-name-iter-val.js b/test/language/expressions/class/dstr-gen-meth-ary-name-iter-val.js index 10b822b6f3..f84ae0daba 100644 --- a/test/language/expressions/class/dstr-gen-meth-ary-name-iter-val.js +++ b/test/language/expressions/class/dstr-gen-meth-ary-name-iter-val.js @@ -5,29 +5,29 @@ description: SingleNameBinding with normal value iteration (class expression method) es6id: 14.5.16 flags: [generated] -info: > +info: | ClassExpression : class BindingIdentifieropt ClassTail - + 1. If BindingIdentifieropt is not present, let className be undefined. 2. Else, let className be StringValue of BindingIdentifier. 3. Let value be the result of ClassDefinitionEvaluation of ClassTail with argument className. [...] - + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation - + 21. For each ClassElement m in order from methods a. If IsStatic of m is false, then i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. [...] - + 14.4.13 Runtime Semantics: PropertyDefinitionEvaluation - + GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody } - + 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, @@ -35,20 +35,20 @@ info: > 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -60,9 +60,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/class/dstr-gen-meth-static-ary-name-iter-val.js b/test/language/expressions/class/dstr-gen-meth-static-ary-name-iter-val.js index dab262ab38..41a3a79e89 100644 --- a/test/language/expressions/class/dstr-gen-meth-static-ary-name-iter-val.js +++ b/test/language/expressions/class/dstr-gen-meth-static-ary-name-iter-val.js @@ -5,29 +5,29 @@ description: SingleNameBinding with normal value iteration (static class expression generator method) es6id: 14.5.16 flags: [generated] -info: > +info: | ClassExpression : class BindingIdentifieropt ClassTail - + 1. If BindingIdentifieropt is not present, let className be undefined. 2. Else, let className be StringValue of BindingIdentifier. 3. Let value be the result of ClassDefinitionEvaluation of ClassTail with argument className. [...] - + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation - + 21. For each ClassElement m in order from methods a. If IsStatic of m is false, then b. Else, Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. [...] - + 14.4.13 Runtime Semantics: PropertyDefinitionEvaluation - + GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody } - + 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, @@ -35,20 +35,20 @@ info: > 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -60,9 +60,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/class/dstr-meth-ary-name-iter-val.js b/test/language/expressions/class/dstr-meth-ary-name-iter-val.js index 4bbf523732..6a23977c08 100644 --- a/test/language/expressions/class/dstr-meth-ary-name-iter-val.js +++ b/test/language/expressions/class/dstr-meth-ary-name-iter-val.js @@ -5,47 +5,47 @@ description: SingleNameBinding with normal value iteration (class expression method) es6id: 14.5.16 flags: [generated] -info: > +info: | ClassExpression : class BindingIdentifieropt ClassTail - + 1. If BindingIdentifieropt is not present, let className be undefined. 2. Else, let className be StringValue of BindingIdentifier. 3. Let value be the result of ClassDefinitionEvaluation of ClassTail with argument className. [...] - + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation - + 21. For each ClassElement m in order from methods a. If IsStatic of m is false, then i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. [...] - + 14.3.8 Runtime Semantics: DefineMethod - + MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } - + [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -57,9 +57,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/class/dstr-meth-static-ary-name-iter-val.js b/test/language/expressions/class/dstr-meth-static-ary-name-iter-val.js index bcf43ba715..fb37361ee6 100644 --- a/test/language/expressions/class/dstr-meth-static-ary-name-iter-val.js +++ b/test/language/expressions/class/dstr-meth-static-ary-name-iter-val.js @@ -5,47 +5,47 @@ description: SingleNameBinding with normal value iteration (static class expression method) es6id: 14.5.16 flags: [generated] -info: > +info: | ClassExpression : class BindingIdentifieropt ClassTail - + 1. If BindingIdentifieropt is not present, let className be undefined. 2. Else, let className be StringValue of BindingIdentifier. 3. Let value be the result of ClassDefinitionEvaluation of ClassTail with argument className. [...] - + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation - + 21. For each ClassElement m in order from methods a. If IsStatic of m is false, then b. Else, Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. [...] - + 14.3.8 Runtime Semantics: DefineMethod - + MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } - + [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -57,9 +57,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/function/dstr-ary-name-iter-val.js b/test/language/expressions/function/dstr-ary-name-iter-val.js index b6861fbd0e..06d35a57f9 100644 --- a/test/language/expressions/function/dstr-ary-name-iter-val.js +++ b/test/language/expressions/function/dstr-ary-name-iter-val.js @@ -5,27 +5,27 @@ description: SingleNameBinding with normal value iteration (function expression) es6id: 14.1.20 flags: [generated] -info: > +info: | FunctionExpression : function ( FormalParameters ) { FunctionBody } - + [...] 3. Let closure be FunctionCreate(Normal, FormalParameters, FunctionBody, scope, strict). [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -37,9 +37,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/generators/dstr-ary-name-iter-val.js b/test/language/expressions/generators/dstr-ary-name-iter-val.js index afa9503847..13fe38531b 100644 --- a/test/language/expressions/generators/dstr-ary-name-iter-val.js +++ b/test/language/expressions/generators/dstr-ary-name-iter-val.js @@ -5,27 +5,27 @@ description: SingleNameBinding with normal value iteration (generator function expression) es6id: 14.4.14 flags: [generated] -info: > +info: | GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } - + [...] 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, GeneratorBody, scope, strict). [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -37,9 +37,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/new/spread-err-sngl-err-expr-throws.js b/test/language/expressions/new/spread-err-sngl-err-expr-throws.js index a2b21ad2a2..6b2db0a15b 100644 --- a/test/language/expressions/new/spread-err-sngl-err-expr-throws.js +++ b/test/language/expressions/new/spread-err-sngl-err-expr-throws.js @@ -5,24 +5,23 @@ description: Spread operator applied to the only argument when evaluation throws (`new` operator) es6id: 12.3.3.1 features: [generators] - flags: [generated] -info: > +info: | MemberExpression : new MemberExpression Arguments - + 1. Return EvaluateNew(MemberExpression, Arguments). - + 12.3.3.1.1 Runtime Semantics: EvaluateNew - + 6. If arguments is empty, let argList be an empty List. 7. Else, a. Let argList be ArgumentListEvaluation of arguments. [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation - + ArgumentList : ... AssignmentExpression - + 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). diff --git a/test/language/expressions/new/spread-sngl-iter.js b/test/language/expressions/new/spread-sngl-iter.js index af9cfe2332..07b4ba893a 100644 --- a/test/language/expressions/new/spread-sngl-iter.js +++ b/test/language/expressions/new/spread-sngl-iter.js @@ -5,24 +5,23 @@ description: Spread operator applied to the only argument with a valid iterator (`new` operator) es6id: 12.3.3.1 features: [Symbol.iterator] - flags: [generated] -info: > +info: | MemberExpression : new MemberExpression Arguments - + 1. Return EvaluateNew(MemberExpression, Arguments). - + 12.3.3.1.1 Runtime Semantics: EvaluateNew - + 6. If arguments is empty, let argList be an empty List. 7. Else, a. Let argList be ArgumentListEvaluation of arguments. [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation - + ArgumentList : ... AssignmentExpression - + 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). diff --git a/test/language/expressions/object/dstr-gen-meth-ary-name-iter-val.js b/test/language/expressions/object/dstr-gen-meth-ary-name-iter-val.js index 6533c3c74d..dcbcdcc8ca 100644 --- a/test/language/expressions/object/dstr-gen-meth-ary-name-iter-val.js +++ b/test/language/expressions/object/dstr-gen-meth-ary-name-iter-val.js @@ -5,10 +5,10 @@ description: SingleNameBinding with normal value iteration (generator method) es6id: 14.4.13 flags: [generated] -info: > +info: | GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody } - + 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, @@ -17,20 +17,20 @@ info: > 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -42,9 +42,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/object/dstr-meth-ary-name-iter-val.js b/test/language/expressions/object/dstr-meth-ary-name-iter-val.js index d9bfb6f4d9..6a8229f6e1 100644 --- a/test/language/expressions/object/dstr-meth-ary-name-iter-val.js +++ b/test/language/expressions/object/dstr-meth-ary-name-iter-val.js @@ -5,29 +5,29 @@ description: SingleNameBinding with normal value iteration (method) es6id: 14.3.8 flags: [generated] -info: > +info: | MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } - + [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -39,9 +39,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/expressions/super/spread-err-sngl-err-expr-throws.js b/test/language/expressions/super/spread-err-sngl-err-expr-throws.js index 33809221ea..1d8ab46c51 100644 --- a/test/language/expressions/super/spread-err-sngl-err-expr-throws.js +++ b/test/language/expressions/super/spread-err-sngl-err-expr-throws.js @@ -5,11 +5,10 @@ description: Spread operator applied to the only argument when evaluation throws (SuperCall) es6id: 12.3.5.1 features: [generators] - flags: [generated] -info: > +info: | SuperCall : super Arguments - + 1. Let newTarget be GetNewTarget(). 2. If newTarget is undefined, throw a ReferenceError exception. 3. Let func be GetSuperConstructor(). @@ -18,9 +17,9 @@ info: > [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation - + ArgumentList : ... AssignmentExpression - + 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). diff --git a/test/language/expressions/super/spread-sngl-iter.js b/test/language/expressions/super/spread-sngl-iter.js index b4ae03e8b4..364355fac9 100644 --- a/test/language/expressions/super/spread-sngl-iter.js +++ b/test/language/expressions/super/spread-sngl-iter.js @@ -5,11 +5,10 @@ description: Spread operator applied to the only argument with a valid iterator (SuperCall) es6id: 12.3.5.1 features: [Symbol.iterator] - flags: [generated] -info: > +info: | SuperCall : super Arguments - + 1. Let newTarget be GetNewTarget(). 2. If newTarget is undefined, throw a ReferenceError exception. 3. Let func be GetSuperConstructor(). @@ -18,9 +17,9 @@ info: > [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation - + ArgumentList : ... AssignmentExpression - + 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). diff --git a/test/language/statements/class/dstr-gen-meth-ary-name-iter-val.js b/test/language/statements/class/dstr-gen-meth-ary-name-iter-val.js index 5420f0f2a8..62c452fa48 100644 --- a/test/language/statements/class/dstr-gen-meth-ary-name-iter-val.js +++ b/test/language/statements/class/dstr-gen-meth-ary-name-iter-val.js @@ -5,27 +5,27 @@ description: SingleNameBinding with normal value iteration (class expression method) es6id: 14.5.16 flags: [generated] -info: > +info: | ClassDeclaration : class BindingIdentifier ClassTail - + 1. Let className be StringValue of BindingIdentifier. 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with argument className. [...] - + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation - + 21. For each ClassElement m in order from methods a. If IsStatic of m is false, then i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. [...] - + 14.4.13 Runtime Semantics: PropertyDefinitionEvaluation - + GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody } - + 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, @@ -33,20 +33,20 @@ info: > 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -58,9 +58,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/statements/class/dstr-gen-meth-static-ary-name-iter-val.js b/test/language/statements/class/dstr-gen-meth-static-ary-name-iter-val.js index 33490cd0c4..5d4d66bab2 100644 --- a/test/language/statements/class/dstr-gen-meth-static-ary-name-iter-val.js +++ b/test/language/statements/class/dstr-gen-meth-static-ary-name-iter-val.js @@ -5,27 +5,27 @@ description: SingleNameBinding with normal value iteration (static class expression generator method) es6id: 14.5.15 flags: [generated] -info: > +info: | ClassDeclaration : class BindingIdentifier ClassTail - + 1. Let className be StringValue of BindingIdentifier. 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with argument className. [...] - + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation - + 21. For each ClassElement m in order from methods a. If IsStatic of m is false, then b. Else, Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. [...] - + 14.4.13 Runtime Semantics: PropertyDefinitionEvaluation - + GeneratorMethod : * PropertyName ( StrictFormalParameters ) { GeneratorBody } - + 1. Let propKey be the result of evaluating PropertyName. 2. ReturnIfAbrupt(propKey). 3. If the function code for this GeneratorMethod is strict mode code, @@ -33,20 +33,20 @@ info: > 4. Let scope be the running execution context's LexicalEnvironment. 5. Let closure be GeneratorFunctionCreate(Method, StrictFormalParameters, GeneratorBody, scope, strict). - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -58,9 +58,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/statements/class/dstr-meth-ary-name-iter-val.js b/test/language/statements/class/dstr-meth-ary-name-iter-val.js index d811ee11f4..974d3277bf 100644 --- a/test/language/statements/class/dstr-meth-ary-name-iter-val.js +++ b/test/language/statements/class/dstr-meth-ary-name-iter-val.js @@ -5,46 +5,46 @@ description: SingleNameBinding with normal value iteration (class expression method) es6id: 14.5.15 flags: [generated] -info: > +info: | ClassDeclaration : class BindingIdentifier ClassTail - + 1. Let className be StringValue of BindingIdentifier. 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with argument className. [...] - + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation - + 21. For each ClassElement m in order from methods a. If IsStatic of m is false, then i. Let status be the result of performing PropertyDefinitionEvaluation for m with arguments proto and false. [...] - + 14.3.8 Runtime Semantics: DefineMethod - + MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } - + [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -56,9 +56,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/statements/class/dstr-meth-static-ary-name-iter-val.js b/test/language/statements/class/dstr-meth-static-ary-name-iter-val.js index f760fc0e97..340faf8138 100644 --- a/test/language/statements/class/dstr-meth-static-ary-name-iter-val.js +++ b/test/language/statements/class/dstr-meth-static-ary-name-iter-val.js @@ -5,46 +5,46 @@ description: SingleNameBinding with normal value iteration (static class expression method) es6id: 14.5.15 flags: [generated] -info: > +info: | ClassDeclaration : class BindingIdentifier ClassTail - + 1. Let className be StringValue of BindingIdentifier. 2. Let value be the result of ClassDefinitionEvaluation of ClassTail with argument className. [...] - + 14.5.14 Runtime Semantics: ClassDefinitionEvaluation - + 21. For each ClassElement m in order from methods a. If IsStatic of m is false, then b. Else, Let status be the result of performing PropertyDefinitionEvaluation for m with arguments F and false. [...] - + 14.3.8 Runtime Semantics: DefineMethod - + MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } - + [...] 6. Let closure be FunctionCreate(kind, StrictFormalParameters, FunctionBody, scope, strict). If functionPrototype was passed as a parameter then pass its value as the functionPrototype optional argument of FunctionCreate. [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -56,9 +56,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/statements/const/dstr-ary-name-iter-val.js b/test/language/statements/const/dstr-ary-name-iter-val.js index 9c0dfe7d91..af6570d8c2 100644 --- a/test/language/statements/const/dstr-ary-name-iter-val.js +++ b/test/language/statements/const/dstr-ary-name-iter-val.js @@ -5,9 +5,9 @@ description: SingleNameBinding with normal value iteration (`const` statement) es6id: 13.3.1.4 flags: [generated] -info: > +info: | LexicalBinding : BindingPattern Initializer - + 1. Let rhs be the result of evaluating Initializer. 2. Let value be GetValue(rhs). 3. ReturnIfAbrupt(value). @@ -16,9 +16,9 @@ info: > using value and env as the arguments. 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/statements/function/dstr-ary-name-iter-val.js b/test/language/statements/function/dstr-ary-name-iter-val.js index a1d408404b..e74bf9acc6 100644 --- a/test/language/statements/function/dstr-ary-name-iter-val.js +++ b/test/language/statements/function/dstr-ary-name-iter-val.js @@ -5,28 +5,28 @@ description: SingleNameBinding with normal value iteration (function declaration) es6id: 14.1.19 flags: [generated] -info: > +info: | FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody } - + [...] 3. Let F be FunctionCreate(Normal, FormalParameters, FunctionBody, scope, strict). [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -38,9 +38,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/statements/generators/dstr-ary-name-iter-val.js b/test/language/statements/generators/dstr-ary-name-iter-val.js index 74098d854c..1db7c761a2 100644 --- a/test/language/statements/generators/dstr-ary-name-iter-val.js +++ b/test/language/statements/generators/dstr-ary-name-iter-val.js @@ -5,27 +5,27 @@ description: SingleNameBinding with normal value iteration (generator function declaration) es6id: 14.4.12 flags: [generated] -info: > +info: | GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody } - + [...] 2. Let F be GeneratorFunctionCreate(Normal, FormalParameters, GeneratorBody, scope, strict). [...] - + 9.2.1 [[Call]] ( thisArgument, argumentsList) - + [...] 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). [...] - + 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) - + 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). [...] - + 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) - + [...] 23. Let iteratorRecord be Record {[[iterator]]: CreateListIterator(argumentsList), [[done]]: false}. @@ -37,9 +37,9 @@ info: > [...] 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/statements/let/dstr-ary-name-iter-val.js b/test/language/statements/let/dstr-ary-name-iter-val.js index 0fa4fcd8e0..597676bcc3 100644 --- a/test/language/statements/let/dstr-ary-name-iter-val.js +++ b/test/language/statements/let/dstr-ary-name-iter-val.js @@ -5,9 +5,9 @@ description: SingleNameBinding with normal value iteration (`let` statement) es6id: 13.3.1.4 flags: [generated] -info: > +info: | LexicalBinding : BindingPattern Initializer - + 1. Let rhs be the result of evaluating Initializer. 2. Let value be GetValue(rhs). 3. ReturnIfAbrupt(value). @@ -16,9 +16,9 @@ info: > using value and env as the arguments. 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]). diff --git a/test/language/statements/variable/dstr-ary-name-iter-val.js b/test/language/statements/variable/dstr-ary-name-iter-val.js index a0a70ce74e..9ca768a0bd 100644 --- a/test/language/statements/variable/dstr-ary-name-iter-val.js +++ b/test/language/statements/variable/dstr-ary-name-iter-val.js @@ -5,9 +5,9 @@ description: SingleNameBinding with normal value iteration (`var` statement) es6id: 13.3.2.4 flags: [generated] -info: > +info: | VariableDeclaration : BindingPattern Initializer - + 1. Let rhs be the result of evaluating Initializer. 2. Let rval be GetValue(rhs). 3. ReturnIfAbrupt(rval). @@ -15,9 +15,9 @@ info: > BindingPattern passing rval and undefined as arguments. 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - + SingleNameBinding : BindingIdentifier Initializeropt - + [...] 4. If iteratorRecord.[[done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[iterator]]).