Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use consistent element order in pretty.write #293

Merged
merged 2 commits into from
May 14, 2019

Conversation

hth313
Copy link
Contributor

@hth313 hth313 commented Apr 14, 2019

Having consistent output makes it easier to use it for test purposes,
such as when dumping tables and comparing it to some expected output.

Having consistent output makes it easier to use it for test purposes,
such as when dumping tables and comparing it to some expected output.
@Tieske
Copy link
Member

Tieske commented May 7, 2019

@hth313 would you mind fixing the tests?

Previous commit did not emit numeric table entries for tables that had
mixed numeric and non-numeric keys.
@coveralls
Copy link

Coverage Status

Coverage increased (+0.2%) to 84.971% when pulling 22a1b4f on hth313:master into f9f06de on stevedonovan:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage increased (+0.2%) to 84.971% when pulling 22a1b4f on hth313:master into f9f06de on stevedonovan:master.

@Tieske Tieske merged commit 9aecd3f into lunarmodules:master May 14, 2019
@Tieske
Copy link
Member

Tieske commented May 14, 2019

thank you

@hth313
Copy link
Contributor Author

hth313 commented May 14, 2019

No problem, it was a good test and it spotted a problem in my change.

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Feb 15, 2020
## 1.7.0 (2019-10-14)
### New features

  - `utils.quote_arg` will now optionally take an array of arguments and escape
    them all into a single string.
  - `app.parse_args` now accepts a 3rd parameter with a list of valid flags and aliasses
  - `app.script_name` returns the name of the current script (previously a private function)

### Changes

  - Documentation updates
  - `utils.quit`: exit message is no longer required, and closes the Lua state (on 5.2+).
  - `utils.assert_arg` and `utils.assert_string`: now return the validated value
  - `pl.compat`: now exports the `jit` and `jit52` flags
  - `pretty.write`: now sorts the output for easier diffs [#293](lunarmodules/Penlight#293)

### Fixes

  - `utils.raise` changed the global `on_error`-level when passing in bad arguments
  - `utils.writefile` now checks and returns errors when writing
  - `compat.execute` now handles the Windows exitcode -1 properly
  - `types.is_empty` would return true on spaces always, indepedent of the parameter
  - `types.to_bool` will now compare case-insensitive for the extra passed strings
  - `app.require_here` will now properly handle an absolute base path
  - `stringx.split` will no longer append an empty match if the number of requested
    elements has already been reached [#295](lunarmodules/Penlight#295)
  - `path.common_prefix` and `path.relpath` return the result in the original casing
    (only impacted Windows) [#297](lunarmodules/Penlight#297)
  - `dir.copyfile`, `dir.movefile`, and `dir.makepath` create the new file/path with
    the requested casing, and no longer force lowercase (only impacted Windows)
    [#297](lunarmodules/Penlight#297)
  - added a missing assertion on `path.getmtime` [#291](lunarmodules/Penlight#291)
  - `stringx.rpartition` returned bad results on a not-found [#299](lunarmodules/Penlight#299)

## 1.6.0 (2018-11-23)
### New features

  - `pl.compat` now provides `unpack` as `table.unpack` on Lua 5.1

### Changes

  - `utils.unpack` is now documented and respects `.n` field of its argument.
  - `tablex.deepcopy` and `tablex.deepcompare` are now cycle aware (#262)
  - Installing through LuaRocks will now include the full rendered documentation

### Fixes

  - Fixed `seq.last` returning `nil` instead of an empty list when given an empty iterator (#253).
  - `pl.template` now applies `tostring` when substituting values in templates, avoiding errors when they are not strings or numbers (#256).
  - Fixed `pl.import_into` not importing some Penlight modules (#268).
  - Fixed version number stuck at 1.5.2 (#260).
  - Fixed `types.is_empty` returning `true` on tables containing `false` key (#267).
  - Fixed `test.assertraise` throwing an error when passed an array with a function to call plus its arguments (#272).
  - Fixed `test.assertraise` not throwing an error when given function does not error but instead returns a string matching given error pattern.
  - Fixed placeholder expressions being evaluated with wrong precedence of binary and unary negation.
  - Fixed placeholder expressions being evaluated assuming wrong binary operator associativity (e.g. `_1-(_2+_3)` was evaluated as `(_1-_2)+_3`.
  - Fixed placeholder expressions being evaluated as if unary operators take precedence over power operator (e.g. `(-_1)^_2`) was evaluated as `-(_1^2)`).
  - Fixed vulnerable backtracking pattern in `pl.stringx.strip` (#275)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants