harmonyc 0.28.2 → 0.28.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -1,16 +1,32 @@
1
- # Writing unit tests in .harmony files
1
+ # Writing unit tests in Harmony Code (.harmony) files
2
2
 
3
- When writing unit tests, write them in `.harmony` files using a special structured format. This specification will be compiled to JS on-the-fly and imports the corresponding `.phrases.ts` files for step implementations.
3
+ When writing unit tests, write them in `.harmony` files using a special structured format. This specification will be compiled to JS on-the-fly and imports the corresponding `.phrases.ts` files for phrase implementations.
4
4
 
5
5
  ## File Structure
6
6
 
7
7
  For tests belonging to a feature, you need:
8
8
 
9
- - `example.harmony` - Test specifications (this file)
10
- - `example.phrases.ts` - Step implementations (you create this)
9
+ - `example.harmony` - Test specifications
10
+ - `example.phrases.ts` - Phrase implementations
11
+ The Harmony Code compiler will edit the `.phrases.ts` file to add or remove method stubs.
11
12
 
12
13
  ## .harmony File Format
13
14
 
15
+ Example:
16
+
17
+ ```harmony
18
+ # This is a comment
19
+ Thi is a comment too
20
+ + Section 1:
21
+ This is a description of section 1
22
+ over multiple lines.
23
+ - step 1 => expected result 1
24
+ - step 2 => expected result 2
25
+ + Section 2:
26
+ + input 1 => expected result 1
27
+ + input 2 => expected result 2
28
+ ```
29
+
14
30
  ### Syntax Rules
15
31
 
16
32
  #### Line start
@@ -22,23 +38,67 @@ For tests belonging to a feature, you need:
22
38
  #### Line content
23
39
 
24
40
  1. **Sections** are any line ending in `:`. It is ignored but is used for naming test cases and groups.
25
- 2. **Steps** consist of an _action_ and an _expected outcome_ separated by `=>`.
26
- 3. **Error steps** consist of an _action_ followed by `=> !!` and an _expected error message_ in double quotes.
41
+ 2. **Steps** consist of an _action_ and a _response_ separated by `=>`.
42
+ 3. **Error steps** consist of an _action_ followed by `=> !!` and an _error response_, which must be an expected error message fragment in double quotes or docstring, prefer docstring even for single line.
27
43
 
28
- #### Action and Expected Outcome syntax
44
+ #### Action and Response syntax
29
45
 
30
- Use human-readable phrases for both actions and expected outcomes.
31
- Both actions and expected outcomes can contain:
46
+ Use human-readable phrases for both actions and responses.
47
+ Both actions and responses can contain:
32
48
 
33
49
  - **words**
34
- - **punctuation** is ignored
50
+ - **punctuation** is treated as word separators; leading/trailing punctuation is stripped
35
51
  - **string arguments** enclosed in double quotes`"like this"`
36
- - **code arguments** enclosed in backticks `` `like this` ``
52
+ - **code arguments** enclosed in backticks `` `like this` ``. Can be multi-line.
53
+ - **docstring argument** at the end of the action/response, either starting on same line or on the next line, consecutive lines starting with `| ` are part of it.
54
+ ```harmony
55
+ - greeting is | Hello, John Doe!
56
+ - address is
57
+ | 123 Main St
58
+ | Springfield
59
+ - send email => !! | Email address is invalid
60
+ ```
61
+ Prefere same line if single-line and short. Pefer single-line multiline for error messages.
62
+ - **variable references** `${varName}` (see Variables section below)
37
63
 
38
64
  Use string arguments for string parameters and code arguments for numbers, booleans, objects, arrays etc.
39
65
 
40
- If there is one obvious default action in the test case with one parameter, use an action that contains just that parameter.
41
- If there is one obvious default expected outcome with one parameter, use an expected outcome that contains just that parameter.
66
+ #### Single-argument actions and responses
67
+
68
+ If there is one obvious default action in the feature of the file with one parameter, use an action that consists of only that parameter.
69
+ If there is one obvious default response with one parameter, use an response that contains just that parameter.
70
+ ```harmony
71
+ + greet:
72
+ - "John" => "Hello, John!"
73
+ ```
74
+ These will be declared in the phrases file as `When_X(name: string)` and `Then_X(expected: string, res: any)`.
75
+
76
+ #### Empty action
77
+ A step can omit the action and consist only of a response. Use this for preconditions or fork branches without an action.
78
+
79
+ ```harmony
80
+ + log in
81
+ + => logged in successfully
82
+ + log out => logged out successfully
83
+ ```
84
+
85
+ #### Multiple responses
86
+
87
+ A step can have multiple `=>` responses chained:
88
+
89
+ ```harmony
90
+ - do something => first result => second result
91
+ ```
92
+ Prefer to put them in separate lines, aligned by the =>
93
+ ```harmony
94
+ - do something => first result
95
+ => second result
96
+ + do a
97
+ + do b
98
+ ```
99
+ #### Interleaved narrative
100
+
101
+ Use lines without `+` or `-` to add narrative or descriptions to the test cases. This is a powerful way to make tests more readable and maintainable.
42
102
 
43
103
  ### Example
44
104
 
@@ -48,11 +108,11 @@ If there is one obvious default expected outcome with one parameter, use an expe
48
108
  This library provides basic calculator functions.
49
109
 
50
110
  + multiply():
51
- - multiply `2` and `3` => `6`
52
- - multiply `-2` and `3` => `-6`
111
+ + multiply `2` and `3` => `6`
112
+ + multiply `-2` and `3` => `-6`
53
113
 
54
114
  + divide():
55
- - divide `6` by `2` => `3`
115
+ + divide `6` by `2` => `3`
56
116
 
57
117
  Division by zero is an error.
58
118
 
@@ -62,14 +122,80 @@ This library provides basic calculator functions.
62
122
  + divide `0` by `0` => !! "Division by zero"
63
123
  ```
64
124
 
125
+ ```harmony
126
+ + login and manage:
127
+ - log in with "admin" role
128
+ + manage users
129
+ + manage orders
130
+ ```
131
+
132
+ ### Variables
133
+
134
+ By default, the return value of an action's `When_*` method is passed as the last argument to all `Then_*` methods of the same step. To store values across steps, use variables with `${varName}` syntax.
135
+
136
+ **Set a variable** (a special action with no `When_*` method):
137
+ ```harmony
138
+ - ${userId} "abc-123"
139
+ - ${count} `42`
140
+ ```
141
+
142
+ **Save a response to a variable** (inline with `=>`):
143
+ ```harmony
144
+ - create user => ${userId}
145
+ ```
146
+
147
+ **Save the return value of a `Then_` method to a variable:**
148
+ ```harmony
149
+ - create user => id ${userId}
150
+ ```
151
+
152
+ **Use a variable**:
153
+ ```harmony
154
+ - log in with ${userId}
155
+ ```
156
+
157
+ **Use a variable in a string argument**
158
+ ```harmony
159
+ - login with "${userId}@example.com"
160
+ ```
161
+
162
+ **Use a variable in a code argument:**
163
+ ```harmony
164
+ - process `{id: ${userId}}`
165
+ ```
166
+
167
+ Variables set with a plain assignment action require no method implementation. Variables used in strings are interpolated using `context.task.meta.variables?.["varName"]` at runtime.
168
+
169
+ ### Switches (Parameterized variants)
170
+
171
+ Use `{ option1 ; option2 ; option3 }` inside a phrase to generate one test case per option. All switches within a single test case must have the same number of choices.
172
+
173
+ ```harmony
174
+ + password validation:
175
+ - set password { "123" ; "abc" ; "" } => !! "Invalid password"
176
+ ```
177
+
178
+ This generates three separate test cases. Multiple switches in the same test case are resolved in parallel (first choices together, second choices together, etc.):
179
+
180
+ ```harmony
181
+ + greet { "John" ; "Jane" } => { "Hello John!" ; "Hello Jane!" }
182
+ ```
183
+
65
184
  ## .phrases.ts File Implementation
66
185
 
67
186
  Create a class that implements step methods corresponding to your test specifications. Use imports as needed, e.g. import the functions you are testing.
68
187
 
69
- `When_*` methods implement actions, and `Then_*` methods implement expected outcomes. `Then_*` methods receive
70
- an extra parameter, the return value of the preceding `When_*` method. Add the words and parameters from the action / expected outcome, separated by underscores, with parameters denoted by `X`,`Y`,`Z`,`A`,`B`,...
188
+ `When_*` methods implement actions, and `Then_*` methods implement responses. `Then_*` methods receive
189
+ an extra parameter, the return value of the preceding `When_*` method. Add the words and parameters from the action / response, separated by underscores, with parameters denoted by `X`,`Y`,`Z`,`A`,`B`,...
190
+
191
+ ### Method naming rules
192
+
193
+ - Words are joined with underscores: `hello world` → `When_hello_world`
194
+ - Each argument (string or code) is replaced by the next placeholder: first `X`, then `Y`, `Z`, `A`, `B`, `C`, ..., e.g. `add "5" and "10"` → `When_add_X_and_Y(x: string, y: string)`
195
+ - Punctuation is treated as a word separator and leading/trailing punctuation is stripped: `hello, world!` → `When_hello_world`
196
+ - Non-ASCII letters (accented, international) are preserved in method names
71
197
 
72
- Use vitest.expect in assertions.
198
+ Use vitest expect in assertions.
73
199
 
74
200
  Error responses need no implementation.
75
201
 
@@ -175,6 +175,7 @@ export declare abstract class Phrase extends Node {
175
175
  abstract toCode(cg: CodeGenerator): void;
176
176
  toString(): string;
177
177
  toSingleLineString(): string;
178
+ clone(): any;
178
179
  switch(i: number): Phrase;
179
180
  toFunctionName(opts: CompilerOptions): string;
180
181
  }
@@ -192,9 +193,10 @@ export declare class Response extends Phrase {
192
193
  toCode(cg: CodeGenerator): void;
193
194
  }
194
195
  export declare class ErrorResponse extends Response {
195
- message: StringLiteral | undefined;
196
- constructor(message: StringLiteral | undefined);
197
- toCode(cg: CodeGenerator): void;
196
+ constructor(parts: Part[]);
197
+ /** not used, @see {CodeGenerator#errorStep} */
198
+ toCode(_cg: CodeGenerator): void;
199
+ get message(): StringLiteral | undefined;
198
200
  }
199
201
  export declare class SetVariable extends Action {
200
202
  variableName: string;
@@ -363,8 +363,13 @@ export class Phrase extends Node {
363
363
  toSingleLineString() {
364
364
  return this.parts.map((p) => p.toSingleLineString()).join(' ');
365
365
  }
366
+ clone() {
367
+ return Object.assign(Object.create(Object.getPrototypeOf(this)), this);
368
+ }
366
369
  switch(i) {
367
- return new this.constructor(this.parts.map((p) => (p instanceof Switch ? p.choices[i] : p))).setFeature(this.feature);
370
+ return Object.assign(this.clone(), {
371
+ parts: this.parts.map((p) => (p instanceof Switch ? p.choices[i] : p)),
372
+ });
368
373
  }
369
374
  toFunctionName(opts) {
370
375
  const { keyword } = this;
@@ -416,12 +421,16 @@ export class Response extends Phrase {
416
421
  }
417
422
  }
418
423
  export class ErrorResponse extends Response {
419
- constructor(message) {
420
- super(message ? [new DummyKeyword('!!'), message] : [new DummyKeyword('!!')]);
421
- this.message = message;
424
+ constructor(parts) {
425
+ super([new DummyKeyword('!!'), ...parts]);
422
426
  }
423
- toCode(cg) {
424
- cg.errorStep;
427
+ /** not used, @see {CodeGenerator#errorStep} */
428
+ toCode(_cg) { }
429
+ get message() {
430
+ if (this.parts.length === 2 && this.parts[1] instanceof StringLiteral) {
431
+ return this.parts[1];
432
+ }
433
+ return undefined;
425
434
  }
426
435
  }
427
436
  export class SetVariable extends Action {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export const NEWLINES = list_sc(tok(T.Newline), nil()), WORDS = apply(tok(T.Word
31
31
  //list_sc(rep_sc(SIMPLE_PART), tok(T.And)),
32
32
  //(cs) => new Repeater(cs)
33
33
  //),
34
- SWITCH = apply(list_sc(SIMPLE_PART, tok(T.Semicolon)), (cs) => new Switch(cs)), BRACES = kmid(tok(T.OpeningBrace), SWITCH, tok(T.ClosingBrace)), PART = alt_sc(SIMPLE_PART, BRACES), PHRASE = rep_sc(PART), ARG = alt_sc(DOUBLE_QUOTE_STRING, BACKTICK_STRING, DOCSTRING), SET_VARIABLE = apply(seq(VARIABLE, ARG), ([variable, value]) => new SetVariable(variable, value)), ACTION = alt_sc(SET_VARIABLE, apply(PHRASE, (parts, range) => new Action(parts).at(range))), RESPONSE = apply(seq(PHRASE, opt_sc(VARIABLE)), ([parts, variable], range) => new Response(parts, variable !== undefined ? new SaveToVariable(variable) : undefined).at(range)), ERROR_RESPONSE = apply(seq(ERROR_MARK, opt_sc(alt_sc(DOUBLE_QUOTE_STRING, DOCSTRING))), ([, parts]) => new ErrorResponse(parts)), SAVE_TO_VARIABLE = apply(VARIABLE, (variable) => new Response([], new SaveToVariable(variable))), ARROW = kright(opt_sc(NEWLINES), tok(T.ResponseArrow)), RESPONSE_ITEM = kright(ARROW, alt_sc(SAVE_TO_VARIABLE, ERROR_RESPONSE, RESPONSE)), STEP = apply(seq(ACTION, rep_sc(RESPONSE_ITEM)), ([action, responses]) => new Step(action, responses).setFork(true)), LABEL = apply(kleft(list_sc(PART, nil()), tok(T.Colon)), (words, range) => new Label(words.map((w) => w.toString()).join(' ')).at(range)), SECTION = apply(LABEL, (text) => new Section(text)), BRANCH = apply(alt_sc(SECTION, STEP), (branch, range) => branch.at(range)), // section first, to make sure there is no colon after step
34
+ SWITCH = apply(list_sc(SIMPLE_PART, tok(T.Semicolon)), (cs) => new Switch(cs)), BRACES = kmid(tok(T.OpeningBrace), SWITCH, tok(T.ClosingBrace)), PART = alt_sc(SIMPLE_PART, BRACES), PHRASE = rep_sc(PART), ARG = alt_sc(DOUBLE_QUOTE_STRING, BACKTICK_STRING, DOCSTRING), SET_VARIABLE = apply(seq(VARIABLE, ARG), ([variable, value]) => new SetVariable(variable, value)), ACTION = alt_sc(SET_VARIABLE, apply(PHRASE, (parts, range) => new Action(parts).at(range))), RESPONSE = apply(seq(PHRASE, opt_sc(VARIABLE)), ([parts, variable], range) => new Response(parts, variable !== undefined ? new SaveToVariable(variable) : undefined).at(range)), ERROR_RESPONSE = apply(seq(ERROR_MARK, opt_sc(alt_sc(DOUBLE_QUOTE_STRING, DOCSTRING))), ([, parts]) => new ErrorResponse(parts ? [parts] : [])), SAVE_TO_VARIABLE = apply(VARIABLE, (variable) => new Response([], new SaveToVariable(variable))), ARROW = kright(opt_sc(NEWLINES), tok(T.ResponseArrow)), RESPONSE_ITEM = kright(ARROW, alt_sc(SAVE_TO_VARIABLE, ERROR_RESPONSE, RESPONSE)), STEP = apply(seq(ACTION, rep_sc(RESPONSE_ITEM)), ([action, responses]) => new Step(action, responses).setFork(true)), LABEL = apply(kleft(list_sc(PART, nil()), tok(T.Colon)), (words, range) => new Label(words.map((w) => w.toString()).join(' ')).at(range)), SECTION = apply(LABEL, (text) => new Section(text)), BRANCH = apply(alt_sc(SECTION, STEP), (branch, range) => branch.at(range)), // section first, to make sure there is no colon after step
35
35
  DENTS = apply(alt_sc(tok(T.Plus), tok(T.Minus)), (seqOrFork) => {
36
36
  return {
37
37
  dent: (seqOrFork.text.trimEnd().length - 1) / 2,
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,14 @@ export class PhrasesAssistant {
5
5
  this.existingMethods = new Set();
6
6
  this.project = project;
7
7
  this.opts = opts;
8
- this.file = this.project.addSourceFileAtPath(path);
9
- this.file.refreshFromFileSystemSync();
8
+ const existingFile = this.project.addSourceFileAtPathIfExists(path);
9
+ if (existingFile) {
10
+ this.file = existingFile;
11
+ this.file.refreshFromFileSystemSync();
12
+ }
13
+ else {
14
+ this.file = this.project.createSourceFile(path);
15
+ }
10
16
  const clazz = this.file.getClass(className);
11
17
  if (!clazz) {
12
18
  const defaultExport = this.file.getDefaultExportSymbol();
@@ -1 +1 @@
1
- {"version":3,"file":"phrases_assistant.js","sourceRoot":"","sources":["../../src/phrases_assistant/phrases_assistant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phrases_assistant.js","sourceRoot":"","sources":["../../src/phrases_assistant/phrases_assistant.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "harmonyc",
3
3
  "description": "Harmony Code - model-driven BDD for Vitest",
4
- "version": "0.28.2",
4
+ "version": "0.28.4",
5
5
  "author": "Bernát Kalló",
6
6
  "homepage": "https://github.com/harmony-ac/code#readme",
7
7
  "repository": {