Skip to content

Reset errors prior to validation #386

New issue

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

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

Already on GitHub? # to your account

Merged

Conversation

erayd
Copy link
Contributor

@erayd erayd commented Mar 16, 2017

What

Call Validator::reset() prior to validation.

Why

Allows a validator object to be reused following a failing validation, without the user needing to call Validator::reset() manually. Addresses #385.

@CMCDragonkai
Copy link

Would really like this functionality. What's blocking this PR and release?

@shmax
Copy link
Collaborator

shmax commented Mar 16, 2017

LGTM

@erayd
Copy link
Contributor Author

erayd commented Mar 16, 2017

@CMCDragonkai It needs code review (which should be pretty simple, as it's just a one-liner) thanks @shmax :-), then @bighappyface needs to merge it into 6.0.0-dev, then I'll backport it for 5.2.0 :-).

@erayd
Copy link
Contributor Author

erayd commented Mar 16, 2017

@shmax Snap!

@shmax
Copy link
Collaborator

shmax commented Mar 16, 2017

I think we're making progress. You used to have to wait around for a few weeks for someone to complain about a PR not being merged, now we're down to a few hours!

@erayd erayd force-pushed the bugfix-385-reset-validator branch from cd113f9 to 75758d3 Compare March 17, 2017 04:16
@erayd
Copy link
Contributor Author

erayd commented Mar 17, 2017

Go @bighappyface, you're on a merging rampage! 👍

Have rebased this.

@bighappyface bighappyface merged commit cf8e886 into jsonrainbow:6.0.0-dev Mar 17, 2017
@erayd erayd mentioned this pull request Mar 17, 2017
@erayd erayd deleted the bugfix-385-reset-validator branch March 17, 2017 19:41
erayd added a commit to erayd/json-schema that referenced this pull request Mar 21, 2017
bighappyface pushed a commit that referenced this pull request Mar 22, 2017
* Add URI translation for retrieval & add local copies of spec schema

* Add use line for InvalidArgumentException & adjust scope (#372)

Fixes issue #371

* add quiet option (#382)

* add quiet option

* use verbose instead of quiet

* add quiet option

* always output dump-schema

* always output dump-schema-url

* fix typo and ws

* [BUGFIX] Add provided schema under a dummy / internal URI (fixes #376) (#378)

* Add provided schema under a dummy / internal URI (fixes #376)

In order to resolve internal $ref references within a user-provided
schema, SchemaStorage needs to know about the schema. As user-supplied
schemas do not have an associated URI, use a dummy / internal one instead.

* Remove dangling use

* Change URI to class constant on SchemaStorage

* Add option to disable validation of "format" constraint (#383)

* Add more unit tests (#366)

* Add test coverage for coercion API

* Complete test coverage for SchemaStorage

* Add test coverage for ObjectIterator

* Add exception test for JsonPointer

* MabeEnum\Enum appears to use singletons - add testing const

* Don't check this line for coverage

mbstring is on all test platforms, so this line will never be reached.

* Add test for TypeConstraint::validateTypeNameWording()

* Add test for exception on TypeConstraint::validateType()

* PHPunit doesn't like an explanation with its @codeCoverageIgnore...

* Add various tests for UriRetriever

* Add tests for FileGetContents

* Add tests for JsonSchema\Uri\Retrievers\Curl

* Add missing bad-syntax test file

* Restrict ignore to the exception line only

* Fix exception scope

* Allow the schema to be an associative array (#389)

* Allow the schema to be an associative array

Implements #388.

* Use json_decode(json_encode()) for array -> object cast

* Skip exception check on PHP versions < 5.5.0

* Skip test on HHVM, as it's happy to encode resources

* Enable FILTER_FLAG_EMAIL_UNICODE for email format if present (#398)

* Don't throw exceptions until after checking anyOf / oneOf (#394)

Fixes #393

* Fix infinite recursion on some schemas when setting defaults (#359) (#365)

* Don't try to fetch files that don't exist

Throws an exception when the ref can't be resolved to a useful file URI,
rather than waiting for something further down the line to fail after
the fact.

* Refactor defaults code to use LooseTypeCheck where appropriate

* Test for not treating non-containers like arrays

* Update comments

* Rename variable for clarity

* Add CHECK_MODE_ONLY_REQUIRED_DEFAULTS

If CHECK_MODE_ONLY_REQUIRED_DEFAULTS is set, then only apply defaults
if they are marked as required.

* Workaround for $this scope issue on PHP-5.3

* Fix infinite recursion via $ref when applying defaults

* Add missing second test for array case

* Add test for setting a default value for null

* Also fix infinite recursion via $ref for array defaults

* Move nested closure into separate method

* $parentSchema will always be set when $name is, so don't check it

* Handle nulls properly - fixes issue #377

* Add option to also validate the schema (#357)

* Remove stale files from #357 (obviated by #362) (#400)

* Stop #386 sneaking in alongside another PR backport
erayd added a commit to erayd/json-schema that referenced this pull request Mar 22, 2017
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants