Commit Graph

1739 Commits

Author SHA1 Message Date
Michael Miller 5a4e95e8a2
Split double macro into def_double and new_double 2022-03-19 11:41:53 -06:00
Michael Miller 4dff018330
Pass along block only if it exists 2022-03-19 11:28:36 -06:00
Michael Miller a508aeb4a3
Use a shared macro to handle stub type cast 2022-03-17 02:45:50 -06:00
Michael Miller 751ea77172
Add docs explaining how stub macros work 2022-03-17 02:18:32 -06:00
Michael Miller 4f7a4a3453
Avoid issue with TypeCastError message
For some reason, attempting to get the class of the stubbed value causes a segfault.
This appears to get swallowed in some cases.
Trying to inspect the value was difficult without triggering some error.
In the failing case, the value is 42 (returned by a stubbed foo method).
The method is supposed to return a String, and this error checking should be triggered (line 119).
The value is a union, and inspecting the bytes contained in it looks like it's prefixed with the Crystal type ID for Int32.
However it looks like Crystal tries to treat it as a Bool? I'm not sure.
Very weird behavior and instead of wasting more time on it, I'm omitting the returned type from the error.
This type of casting error shouldn't be common.
This seems like a Crystal bug, but I'm having a hard time distilling the issue.
2022-03-16 22:40:24 -06:00
Michael Miller 280f117e23
Use TypedStub instead of ValueStub
Test possible issues around stub returning nil
2022-03-16 21:07:20 -06:00
Michael Miller 8e38d3b054
Add intermediate TypedStub 2022-03-16 21:05:43 -06:00
Michael Miller dc74a741cf
Bit of method cleanup 2022-03-15 22:55:24 -06:00
Michael Miller 332ab1cebc
Smarter handling of stub fallback 2022-03-15 22:46:43 -06:00
Michael Miller 01fc91e854
Add stubs for primitive methods 2022-03-14 21:53:09 -06:00
Michael Miller 64cd921a7e
Add block arguments and yield 2022-03-12 23:50:30 -07:00
Michael Miller 03aa282512
Don't stub primitive methods 2022-03-12 23:02:55 -07:00
Michael Miller 291b4c75a8
Compiler error if stub defined in a method 2022-03-12 23:02:33 -07:00
Michael Miller 94872a498d
Better string representation of method call 2022-03-12 19:26:18 -07:00
Michael Miller 20087f1c57
Treat any tokens starting with _spectator as reserved 2022-03-12 19:17:38 -07:00
Michael Miller 5ad29f486f
Better formatting for empty arguments 2022-03-12 17:49:07 -07:00
Michael Miller ca827a3c52
Initial work on null (object) double 2022-03-12 17:07:34 -07:00
Michael Miller f82719746d
Stubable -> Stubbable 2022-03-12 15:45:48 -07:00
Michael Miller 7931847164
Cleanup and docs 2022-03-12 15:43:12 -07:00
Michael Miller 151926fd25
Fix captured arguments not handling splat 2022-03-12 14:31:39 -07:00
Michael Miller ea46af00a6
Add method to define stubs 2022-03-12 14:31:19 -07:00
Michael Miller 123dd0efca
Obscure parameters to avoid accidental usage 2022-03-12 13:58:20 -07:00
Michael Miller c8864b169e
Quick def methods should accept any args 2022-03-12 13:51:58 -07:00
Michael Miller f497aeb79d
Fix redefinition of method with splat argument 2022-03-12 13:15:26 -07:00
Michael Miller c1a14d1ad2
Add logging 2022-03-12 12:59:44 -07:00
Michael Miller 59f966d0e0
Fix missing double name
Rename internal method to _spectator_stubbed_name.
This is a better name for mocks and doubles.
Improve some handling around stubbed name.
2022-03-12 12:17:27 -07:00
Michael Miller 56f1c77a6c
Move method masking macro to Stubable
Rename to stub_all.
2022-03-12 11:56:54 -07:00
Michael Miller 85cc28c499
Utility method to define a method and a stub override 2022-03-12 11:41:47 -07:00
Michael Miller 8de457d80c
Handle previous_def and super - don't redefine method 2022-03-12 11:34:35 -07:00
Michael Miller 554e215898
Prevent ugly "has no type" errors 2022-03-12 11:33:56 -07:00
Michael Miller 12eeb02a8d
Move method redefinition for stub to Stubable
Require stub or raise UnexpectedMessage for all double methods.
Expose abstract_stub macro to require a stub.
2022-03-12 11:11:22 -07:00
Michael Miller 9b94245bd8
Stub's type might not match return type (subclass or union) 2022-03-12 11:08:58 -07:00
Michael Miller d891422b3a
Don't need to recreate method by hand 2022-03-12 11:08:29 -07:00
Michael Miller 76c1d6a096
Some rework of stubs and doubles 2022-03-12 09:39:32 -07:00
Michael Miller ae14a47329
Rename Response to Stub 2022-03-05 20:09:56 -07:00
Michael Miller ced98778a4
Document and test MethodCall 2022-03-05 16:15:42 -07:00
Michael Miller 13f185b801
Capture and report arguments in exception message 2022-03-05 16:06:01 -07:00
Michael Miller d16c55984c
Fixup macros 2022-03-05 15:39:19 -07:00
Michael Miller 2e15686d2d
Use internal arg name 2022-03-05 12:31:00 -07:00
Michael Miller ec57105afd
Support response constraints
Reduce union expansion by casting at key points.
2022-03-05 12:21:31 -07:00
Michael Miller 8668e495ef
Placeholder mocks DSL 2022-03-05 10:41:52 -07:00
Michael Miller 2adc867843
Initial work on response constraints 2022-03-05 10:41:39 -07:00
Michael Miller de7cd90d11
Add type capturing arguments 2022-03-04 17:16:45 -07:00
Michael Miller d7f8c2b958
Cleanup and document double 2022-03-03 23:12:35 -07:00
Michael Miller 7e65d94cee
Match RSpec double name string 2022-03-03 22:41:18 -07:00
Michael Miller 9594604770
Obscure and disallow double name method 2022-03-03 22:34:57 -07:00
Michael Miller 5644d54470
Support double names 2022-03-03 22:31:40 -07:00
Michael Miller 26deea3d20
Initial work on Double 2022-03-03 22:10:09 -07:00
Michael Miller 8ac6546bdd
Rip out more existing mocks 2022-02-28 22:15:29 -07:00
Michael Miller 0ea7890ece
Merge branch 'master' into mock-redesign 2022-02-28 20:39:33 -07:00
Michael Miller 31d68a9ca3
Don't capture original block as proc 2022-02-22 16:55:11 -07:00
Michael Miller 35f8779ceb
Forward Example procsy to_s to example
https://gitlab.com/arctic-fox/spectator/-/issues/70
2022-02-22 16:36:16 -07:00
Michael Miller eb8bd88927
Handle case with typeless block
Fixes syntax:
`stub method(&block)`

To stub a block with args, use:
`stub method(&block : Type -> Type)`

Addresses https://github.com/icy-arctic-fox/spectator/issues/42
2022-02-21 18:17:44 -07:00
Michael Miller 92e839415d
Fix sample iteration with single block arg (not tuple) 2022-01-26 13:14:30 -07:00
Michael Miller d6112bd2dd
Rip out mocks 2022-01-26 12:41:41 -07:00
Michael Miller 4057089c20
Support multiple block arguments in sample block
https://github.com/icy-arctic-fox/spectator/issues/41#issuecomment-1010192486
2022-01-11 15:53:53 -07:00
Michael Miller dd49fe3a67
Support string interpolation for example names 2022-01-10 21:29:05 -07:00
Michael Miller aabec269cb
Raise compilation error for string interpolation in group name 2022-01-10 21:11:28 -07:00
Michael Miller 07aa968d68
Report failed expectation line
In output listing the failures, the comment line now shows the failed expectation line.
Previously this showed the example's source line.
2022-01-03 18:47:56 -07:00
Michael Miller 4d81031274
Fix usage of 'expect' outside test block
Previously gave weird runtime erorr about mismatched groups.
Now correctly produces a compilation error.
2021-12-13 02:42:02 -07:00
Michael Miller d9269e17a8
Better implementation of explicit subject 2021-12-02 01:57:34 -07:00
Michael Miller 315a318d7d
Explicit "provided" block description
Implements https://gitlab.com/arctic-fox/spectator/-/issues/69
2021-12-01 19:11:36 -07:00
Michael Miller 59ce312341
Fix typos and spelling 2021-11-28 15:45:17 -07:00
Michael Miller f1f1659836
Fix adding stubs to class methods on mocked types 2021-10-11 23:03:50 -06:00
Michael Miller 5692a77a1b
Update naming from partial to target 2021-10-11 23:03:12 -06:00
Michael Miller 53f7c94e8a
Add missing negation variants for method stubs 2021-10-11 22:39:16 -06:00
Michael Miller 36354082c7
Pass arguments to original/fallback for stubbed top-level methods
Addresses https://github.com/icy-arctic-fox/spectator/issues/36
2021-09-28 19:02:42 -06:00
Michael Miller a95c5bcab7
Better handling with `be` match against Value types and nil
Releates to https://github.com/icy-arctic-fox/spectator/issues/37
2021-09-28 18:22:41 -06:00
Michael Miller 99ced17516
Handle undefined methods with have_attributes matcher
Instead of producing a compilation error on missing/undefind methods, 
substitute in an "undefined" value.
This shows better output to the user.
2021-09-26 12:50:17 -06:00
Michael Miller 2f1ac1374b
Use RegexMatcher to force used =~ operator 2021-09-22 17:57:56 -06:00
Michael Miller 64b9c13436
Remove Test prefix 2021-09-22 17:53:42 -06:00
Michael Miller 627a288358
Missing doc 2021-09-20 11:01:00 -06:00
Michael Miller a51640105c
Re-add pre- and post-condition hooks
Accidentally removed in hook refactoring.
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/62
2021-09-16 09:01:51 -06:00
Todd Sundsted a3b7f5f4b1 Handle directories with spaces in the path/filename 2021-09-16 09:02:34 -04:00
Michael Miller 632845574f
Stringify tags
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/61
2021-09-11 16:05:20 -06:00
Michael Miller 09dcbdb383
Fix dumb with JUnit and HTML output 2021-08-19 13:55:58 -06:00
Michael Miller 09414e611b
Brighten yellow for pending 2021-08-19 13:45:22 -06:00
Michael Miller e037e42fa7
Fix links to examples not working 2021-08-19 13:14:53 -06:00
Michael Miller f5ec9ccff6
CSS!
The HTML report looks beautiful.
2021-08-19 13:07:15 -06:00
Michael Miller efca1409c6
Fix dumb 2021-08-19 13:00:51 -06:00
Michael Miller 708fd692ae
Add actual label to match data description 2021-08-19 11:46:07 -06:00
Michael Miller babc7ebc3a
Tweaks 2021-08-18 22:15:50 -06:00
Michael Miller 18b42304c9
Use lists and fix some issues 2021-08-18 18:18:18 -06:00
Michael Miller dd0ef01369
Initial code for HTML formatter 2021-08-18 17:50:09 -06:00
Michael Miller f4fc599a1d
Add display_name convenience method 2021-08-18 17:47:20 -06:00
Michael Miller c49522a791
Allow tags on top-level groups 2021-08-18 15:57:22 -06:00
Michael Miller 21d14bd814
Add f-prefix variants of groups and examples
For instance: `fit` for `it "...", :focus`
2021-08-18 13:55:21 -06:00
Michael Miller 2b27ea5a01
Quick implementation of `filter_run_when_matching`
Needed for focus tests.
2021-08-18 13:46:54 -06:00
Michael Miller fd4812207a
Whitespace 2021-08-18 11:27:06 -06:00
Michael Miller 1e82608500
Add methods matching RSpec for configuring include and exclude tags 2021-08-17 23:40:58 -06:00
Michael Miller c209fe7259
Add ascend methods 2021-08-17 22:10:01 -06:00
Michael Miller 8d366bf637
Fully implemented test filtering by tags
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/16
2021-08-17 21:54:01 -06:00
Michael Miller a9a46c76ad
Support tag filtering with value 2021-08-17 21:34:26 -06:00
Michael Miller b79dd4361e
Initial implementation of tag filtering 2021-08-17 20:52:06 -06:00
Michael Miller 38ea2e7f96
Address Ameba issue 2021-08-17 15:02:34 -06:00
Michael Miller 94d5c96e7d
Implement an example filter that supports matching groups
Addresses https://gitlab.com/arctic-fox/spectator/-/issues/25 and 
https://github.com/icy-arctic-fox/spectator/issues/24
2021-08-17 14:09:37 -06:00
Michael Miller 65799fdd3b
Pass along end line 2021-08-17 13:49:58 -06:00
Michael Miller 67b4c0589b
Implement NodeIterator 2021-08-17 12:55:49 -06:00
Michael Miller cf7d67c972
Simplify ExampleIterator and remove unecessary allocations 2021-08-17 12:55:22 -06:00
Michael Miller 837e4cb85d
Implement Indexable(Node) on ExampleGroup 2021-08-17 12:54:36 -06:00
Michael Miller 4e5a52215a
Simplify 2021-08-16 20:27:27 -06:00
Michael Miller 3803d4582c
Use Iterable(Node) instead of ExampleGroup 2021-08-16 20:27:21 -06:00
Michael Miller aa81f1d948
Change ExampleFilter to a NodeFilter
Node filters may operate on example groups as well as examples.
2021-08-08 12:13:59 -06:00
Michael Miller 0f7a9ed9e8
Remove append and prepend variants of hook definition methods
RSpec defines these as applying to a scope (example, context, suite) as 
opposed to example group.
Mimicing this is currently not possible in Spectator and would require a 
substantial restructure of how hooks are handled.
This may be implemented in the future.
2021-08-08 11:50:30 -06:00
Michael Miller 91d21b38e2
Lazily initialize global DSL spec builder
Require config to create a spec builder.
Config should be fully set up before any DSL is encountered.
2021-08-08 11:25:06 -06:00
Michael Miller 605b82c532
Add prepend and append variants of hooks to DSL 2021-08-08 10:51:39 -06:00
Michael Miller 841efc236d
Fix flipped append/prepend of "after" hooks 2021-08-08 10:27:34 -06:00
Michael Miller b9f0a31a4a
Overhaul hooks
Mostly cleanup and make managing hooks simpler, hopefully.
Tests indicate this configuration matches hook execution order of RSpec.
2021-08-07 21:45:49 -06:00
Michael Miller 10b652f4b5
Remove unique/temp names 2021-07-31 19:11:51 -06:00
Michael Miller 3dc3b88dbe
Add "after" hooks in reverse order to match RSpec 2021-07-31 15:48:54 -06:00
Michael Miller edcb5118e6
Show pending count only if there are pending examples 2021-07-31 15:02:21 -06:00
Michael Miller abe78410c4
Formatting 2021-07-31 14:18:59 -06:00
Michael Miller 868aa1d00a
Support custom handling of hooks 2021-07-31 14:16:39 -06:00
Michael Miller f53ffabf6b
Support label for aggregate_failures block 2021-07-31 12:04:43 -06:00
Michael Miller 4c125d98d4
Implement aggregate_failures 2021-07-31 11:56:53 -06:00
Michael Miller 9a97596b84
Allow named arguments in `provided` block 2021-07-31 10:15:16 -06:00
Michael Miller ef1832721c
Remove unecessary branch 2021-07-20 18:29:26 -06:00
Michael Miller e8413db33f
Support custom messages for failed expectations
Fixes https://gitlab.com/arctic-fox/spectator/-/issues/28
2021-07-17 17:42:25 -06:00
Michael Miller 0c4379c731
Formatting 2021-07-17 16:55:43 -06:00
Michael Miller e60cc2a447
Phrasing 2021-07-17 16:41:49 -06:00
Michael Miller eda4328a92
Blank line after stack trace 2021-07-17 16:35:35 -06:00
Michael Miller 52a0ae938a
Consistency with location and location? 2021-07-17 16:34:15 -06:00
Michael Miller e316dd8a11
Fix missing example location in output 2021-07-17 16:27:38 -06:00
Michael Miller 6c6dff363b
Track source location of pending result 2021-07-17 16:25:32 -06:00
Michael Miller 7cb1545e83
Don't use failure location in failed example block output
This is problematic, since the failure could have ocurred outside the 
example block (in a method call).
The comment line under the failure details will still point to the 
result location, if it's available.
2021-07-17 16:15:11 -06:00
Michael Miller 81f1966417
Use location instead of source 2021-07-17 16:12:10 -06:00
Michael Miller 7e2b267e93
Use failure location in output if available
Fixes https://gitlab.com/arctic-fox/spectator/-/issues/57
2021-07-17 16:04:19 -06:00
Michael Miller f75991f34c
Formatting 2021-07-17 15:21:15 -06:00
Michael Miller 937b084f66
Support defining hooks in configuration block 2021-07-17 15:20:58 -06:00
Michael Miller 009266c8c2
Fix naming of hook methods when using a block 2021-07-17 14:32:55 -06:00
Michael Miller a810eef16c
Add `before_suite` and `after_suite` 2021-07-17 14:19:16 -06:00
Michael Miller af13a89257
Pass along fallback reason 2021-07-17 14:04:17 -06:00
Michael Miller 1b53607f8e
Cleanup and add docs 2021-07-17 14:01:27 -06:00
Michael Miller 571bc7d8a5
Reuse iterative example group macro code
Add support for x prefix to skip sample and random_sample groups.
2021-07-17 13:25:38 -06:00
Michael Miller e506c6b981
Implement random_sample 2021-07-17 13:05:03 -06:00
Michael Miller 9d72d26630
Handle sample count 2021-07-17 12:49:11 -06:00
Michael Miller 76a23131cb
More checks for missing block in DSL
Improved some error messages.
2021-07-17 12:36:21 -06:00
Michael Miller 640857bef2
Pretty up iterative group names 2021-07-17 12:15:41 -06:00
Michael Miller d8e9d3128a
Fetch iteration item from group 2021-07-17 12:07:04 -06:00
Michael Miller c79cb62a61
Quick implementation of iterative group builder 2021-07-17 12:06:53 -06:00
Michael Miller c24c2cb5e1
Quick implementation of node builders 2021-07-17 11:10:44 -06:00
Michael Miller c7a90b3e64
Shorten names and cleanup 2021-07-17 10:47:16 -06:00
Michael Miller 6c55301d0b
Merge remote-tracking branch 'origin/master' into release/0.10 2021-07-11 00:16:25 -06:00
Michael Miller 01672fc073
Bump version to 0.9.40 2021-07-10 23:16:05 -06:00
Michael Miller 4d030fb85a
Fix no_args being passed incorrectly 2021-07-10 22:43:54 -06:00
Michael Miller d9bb8e33fe
Fix finding stubs on types (static methods) 2021-07-10 22:41:10 -06:00
Michael Miller 23fd075d51
Add stub when using `expect().to receive()`
This appears to match RSpec's behavior.
2021-07-10 20:28:51 -06:00
Michael Miller 384fb3093f
Allow stubs returning nil to be used on NoReturn calls 2021-07-10 20:19:10 -06:00
Michael Miller e47ae613a5
Check for and allow expected exits 2021-07-10 19:27:01 -06:00
Michael Miller 35cb0b527e
Use ExampleFailed instead of ExpectationFailed 2021-07-10 18:15:01 -06:00
Michael Miller 5f61a24656
Provide default stub for Process.exit
Prevent terminating the process from within a test.
2021-07-10 14:18:07 -06:00
Michael Miller 294bd61a25
Don't force top-level namespace 2021-07-10 14:17:14 -06:00
Michael Miller b07e13aeb4
Remove custom handling of NoReturn 2021-07-10 13:57:23 -06:00
Michael Miller a395e26bae
Revert "Fix methods not being stubbed with `expect().to receive` syntax"
This reverts commit 1c865d1f4b.
2021-07-10 13:21:21 -06:00
Michael Miller 06f9f380c9
Workaround for stubbing NoReturn method with Nil
Fixes spec/issues/github_issue_29_spec.cr:15
2021-07-10 12:54:09 -06:00
Michael Miller aa12cdf17c
Introduce non-expectation error ExampleFailed
Used by fail method.
Still todo: Output from failed example is missing because there are no 
expectations.
2021-07-10 03:32:55 -06:00
Michael Miller ccedcdac42
Use getter! macro 2021-07-10 03:31:22 -06:00
Michael Miller 82f26dbb91
Don't return nil for NoReturn stubs
Raise instead, which prevents making the method's return type nilable.
2021-07-08 11:36:07 -06:00
Michael Miller aee5897922
Fix comma placement 2021-07-06 23:32:51 -06:00
Michael Miller 7081c168a5
Missing comma 2021-07-05 22:36:37 -06:00
Michael Miller 3e4079d408
Remove Spec namespace 2021-07-05 11:49:16 -06:00
Michael Miller 6a01ab3531
Merge master into release/0.10 2021-07-05 11:32:45 -06:00
Michael Miller 78de2be994
Bump version to 0.9.39 2021-07-02 21:59:16 -06:00
Michael Miller 92dbfc2a8e
Avoid calling NoReturn methods 2021-07-02 21:52:56 -06:00
Michael Miller 1c865d1f4b
Fix methods not being stubbed with `expect().to receive` syntax 2021-07-02 21:45:16 -06:00
Michael Miller 83ab5f56f0
Use previous_def if method was defined in class 2021-07-02 21:01:41 -06:00
Michael Miller a0537484f4
Allow creation of doubles without a definition
Utilizes anonymous doubles to implement this.
Fixes https://github.com/icy-arctic-fox/spectator/issues/30
2021-07-02 19:18:14 -06:00
Michael Miller d4e2954725
Remove Nop checks 2021-07-02 18:56:24 -06:00
Michael Miller e3f6fb3c7c
Add no_args support for stubs
Fixes https://github.com/icy-arctic-fox/spectator/issues/28
2021-07-02 18:43:39 -06:00
Michael Miller 9b01771c67
Fix missing setup log messages 2021-06-19 12:05:45 -06:00
Michael Miller 989f53c6d6
Initial code for sample groups 2021-06-19 11:57:56 -06:00
Michael Miller 44ade24fb7
Generate context one or more times
This is necessary for iterative (sample) groups so they don't share a 
context.
2021-06-19 11:33:26 -06:00
Michael Miller 4b8d28c916
Wording on compiler error for block args 2021-06-19 10:54:31 -06:00
Michael Miller 1f91836de1
Use block to create examples
Seems that nodes can't be duped/cloned easily.
2021-06-13 14:45:01 -06:00
Michael Miller 4ff27defff
Initial code for iterative (sample) groups 2021-06-13 13:16:31 -06:00
Michael Miller e51ad6d504
Check if `provided` and `given` are used in a method 2021-06-12 17:06:43 -06:00
Michael Miller 04d6c70f59
Cleaner distinction between metadata and tags 2021-06-12 16:45:45 -06:00
Michael Miller 704c28e822
Reimplement `given` as `provided` and deprecate
The behavior is slightly different now.
Nested example blocks aren't allowed in `provided`.
The block produces one example, not multiple.
2021-06-12 16:23:38 -06:00
Michael Miller 71a5c39f6c
Use skip instead of pending tag
Specify default reason for skipping groups.
2021-06-12 12:14:19 -06:00
Michael Miller 02a4b2946e
Display failed expectations and error if an example had both 2021-06-12 12:10:44 -06:00
Michael Miller 621ddb466f
Support output of multiple failed expectations 2021-06-12 11:59:57 -06:00
Michael Miller 88f0c23a3e
Add support for sub-index in result blocks 2021-06-12 11:40:21 -06:00
Michael Miller dcdb87e31a
Output match data to XML 2021-06-12 11:24:21 -06:00
Michael Miller ba3a03736e
Show match data in failure block 2021-06-12 11:08:46 -06:00
Michael Miller a5ed5d0fb1
Pass exception failure message to error 2021-06-12 10:33:28 -06:00
Michael Miller 2407c43132
Only show "Not yet implemented" for missing test block 2021-06-12 09:53:42 -06:00
Michael Miller bfbeaf7454
Default reason for missing example block "Not yet implemented" 2021-06-11 21:16:46 -06:00
Michael Miller 6f4cc12dfd
Mark example pending if block is omitted 2021-06-11 21:03:46 -06:00
Michael Miller 117ed90185
Fix DSL usage of tags
Ensure parent tags don't get modified by duplicating the hash.
Force tag value to string.
2021-06-11 20:22:08 -06:00
Michael Miller a061bd2044
Check pending, skip, and reason tags for reason 2021-06-11 19:29:29 -06:00
Michael Miller 12cba23fa3
Treat skip tag as pending 2021-06-11 19:03:16 -06:00
Michael Miller 14d45756e9
Consolidate default pending reason 2021-06-11 18:59:10 -06:00
Michael Miller 4f2df78c34
Deprecate current behavior of pending blocks 2021-06-11 18:55:56 -06:00
Michael Miller b43b09f46d
Change order of pending result parameters 2021-06-11 18:31:41 -06:00
Michael Miller 3b1db7b772
Pass along pending tag value if available 2021-06-11 18:30:12 -06:00
Michael Miller 4a9ec3df4a
Store tags with an optional string value 2021-06-11 18:26:55 -06:00
Michael Miller d9088b39ca
Add skip message when using xit (and variants) 2021-06-11 18:11:46 -06:00
Michael Miller 5a2a71ffe8
Pass and output along reason for pending/skip result 2021-06-09 22:15:15 -06:00
Michael Miller 8d73434e0b
Add ability to mark example skipped/pending mid-test 2021-06-09 21:57:17 -06:00
Michael Miller ab6487cbfa
Merge branch 'release/0.10' into pending 2021-06-05 22:44:54 -06:00
Michael Miller b9d77321b3
Fix premature call of after_all hook 2021-06-05 22:44:34 -06:00
Michael Miller a08d5202fe
Implement pending examples as lighweight examples
Drop test code block if a pending, skip, or x-prefix macro is used.
2021-06-05 12:51:46 -06:00
Michael Miller 15c5b0991d
Fix doc 2021-06-02 23:54:38 -06:00
Michael Miller 12f06abf11
Move profile JSON formatting into Profile class 2021-06-02 23:51:53 -06:00
Michael Miller bd34b87e22
Simplify JSON formatter by reusing Example's to_json 2021-06-02 23:44:36 -06:00
Michael Miller 8536fcf58c
Fix full_description being an object 2021-06-02 23:41:23 -06:00
Michael Miller 98ba607583
Dumb whitespace 2021-06-02 23:37:01 -06:00
Michael Miller 835fa40773
Handle nil location 2021-06-02 23:35:41 -06:00
Michael Miller 39e917ce57
Consistent location fields 2021-06-02 23:09:30 -06:00
Michael Miller 8f3a7c0a5a
Basically done JSON formatter 2021-06-02 22:48:48 -06:00
Michael Miller fa3e9dd34d
Implement JUnit formatter 2021-05-30 15:02:30 -06:00
Michael Miller e30d5c1981
Use multiple << on a single line 2021-05-30 14:21:42 -06:00
Michael Miller 0a7909fb7a
Cleanup 2021-05-30 10:44:09 -06:00
Michael Miller 877831a98b
Add docs 2021-05-30 10:17:49 -06:00
Michael Miller a4042a9684
Extend PendingBlock from ResultBlock and rename to PendingResultBlock 2021-05-30 10:02:25 -06:00
Michael Miller 7215e28d75
Implement TAP formatter 2021-05-29 23:09:28 -06:00
Michael Miller 40e189a1d1
Fix method name 2021-05-29 23:09:18 -06:00
Michael Miller 48fb293ba0
Define notification type for messages 2021-05-29 22:59:56 -06:00
Michael Miller 76c525de52
Fix call to example_finished 2021-05-29 22:47:53 -06:00
Michael Miller f02e1acb3b
Remove lazy iteration
Fixes issue with empty? method eating the first example for failure and 
pending lists.
2021-05-29 18:35:01 -06:00
Michael Miller 5e1ca34146
Fix pending results not being counted 2021-05-29 17:59:16 -06:00
Michael Miller 6d8d117ec2
Handle nodes with no name 2021-05-29 17:50:30 -06:00
Michael Miller 4a44d038fb
Re-enable desired logging on framework error 2021-05-29 17:45:49 -06:00
Michael Miller fccd55ed0a
Improve appearance of multi-line error messages 2021-05-29 17:33:45 -06:00
Michael Miller 76dd5603de
Fix harness not updating current 2021-05-29 17:13:14 -06:00
Michael Miller 71d0af7cd5
Merge branch 'release/0.10' into reporting 2021-05-29 16:57:22 -06:00
Michael Miller 39c95397fd
Merge branch 'master' into release/0.10 2021-05-29 16:56:57 -06:00
Michael Miller 92f758084d
Bump version to 0.9.38 2021-05-27 15:20:11 -06:00
Michael Miller edb18dcf95
Fix for default logger being cleaned up before Spectator runs
Resolves https://github.com/icy-arctic-fox/spectator/issues/27
2021-05-27 15:17:27 -06:00
Michael Miller 99378c0f36
Merge branch 'release/0.10' into reporting 2021-05-19 20:15:51 -06:00
Michael Miller a3305a9273
Merge branch 'master' into release/0.10 2021-05-19 20:15:36 -06:00
Michael Miller 55398709de
Bump version to 0.9.37 2021-05-19 19:51:08 -06:00
Michael Miller e3576c8924
Add support for `be ===` and `be =~`
Addresses https://github.com/icy-arctic-fox/spectator/issues/26
2021-05-19 19:46:46 -06:00
Michael Miller 453f6a2fce
Cleanup 2021-05-18 20:10:02 -06:00
Michael Miller 867c06bd67
Initial working document formatter 2021-05-18 20:01:58 -06:00
Michael Miller 1e2f3f7c66
Use index offset argument 2021-05-18 19:38:04 -06:00
Michael Miller 1addc46f7e
Remove parameter from stop method 2021-05-18 19:03:40 -06:00
Michael Miller c0befe63e9
Don't use random seed unless randomized 2021-05-18 18:50:43 -06:00
Michael Miller b970abd334
Limit generated seed to < 100,000 2021-05-16 20:39:35 -06:00
Michael Miller 1525317e2c
Pass along and output random seed 2021-05-16 20:38:02 -06:00
Michael Miller 36f9f2b434
Return true from run method if successful 2021-05-16 20:23:16 -06:00
Michael Miller ebf04b360e
Add profiling info 2021-05-16 20:21:04 -06:00
Michael Miller 4bb4c2f16e
Dump profile before summary 2021-05-16 19:52:53 -06:00
Michael Miller aa13b077f3
No need to type restrict io method 2021-05-16 19:47:07 -06:00
Michael Miller 1e3e0daa04
Place error count in parens next to failures 2021-05-16 19:42:15 -06:00
Michael Miller aee171656a
Fix '<anonymous>' showing up for root group 2021-05-16 19:37:45 -06:00
Michael Miller 84ac41967b
Formatting 2021-05-16 19:29:20 -06:00
Michael Miller cc09cb1b77
Cleanup and consolidate common code for result blocks 2021-05-16 19:28:59 -06:00
Michael Miller f81c498aef
Add error block component 2021-05-16 17:14:09 -06:00
Michael Miller ed3ad662d2
Move failure command list to its own component 2021-05-16 17:13:06 -06:00