Commit Graph

419 Commits

Author SHA1 Message Date
Michael Miller 9b07f669ed Remove Locals sub-module
This allows for seamless helper methods.
2018-09-12 19:16:41 -06:00
Michael Miller 718be70edd Update feature list 2018-09-12 19:11:36 -06:00
Michael Miller 3fc625de3f Allow generic types for #described_class and implicit #subject
Add runtime check to ensure #described_class is a type name.
2018-09-12 18:54:46 -06:00
Michael Miller 037612d00a Add implicit subject 2018-09-12 18:37:33 -06:00
Michael Miller 8cf876268a Use fresh variables 2018-09-12 16:29:48 -06:00
Michael Miller 10fc6c6a35 Hide special character mapping 2018-09-12 15:54:45 -06:00
Michael Miller 625a331745 Initial code to indirectly run example
This issolates the example code from the example class' attributes, such
as #description, #run, and others.
2018-09-12 15:47:57 -06:00
Michael Miller 700108f52f Move example-specific DSL to its own module 2018-09-12 15:41:23 -06:00
Michael Miller 4bfd2b9620 Rearrange DSL 2018-09-12 15:21:23 -06:00
Michael Miller e451c027a8 Fix bad copy/paste for hooks 2018-09-12 15:16:18 -06:00
Michael Miller 193314d532 Fix given variables being defined in parent context 2018-09-12 15:13:46 -06:00
Michael Miller 8b55d9139d Hide constants used to build test hiearchy 2018-09-12 14:53:11 -06:00
Michael Miller c2ee9fd520 Move ROOT_CONTEXT out of Spectator module 2018-09-11 20:25:28 -06:00
Michael Miller 6f6ba9c812 Obscure given value setter 2018-09-11 16:19:31 -06:00
Michael Miller 65e8ee3788 Fix string descriptions having extra quotes 2018-09-11 16:01:31 -06:00
Michael Miller 84ed9c41b2 Store example description 2018-09-11 15:57:18 -06:00
Michael Miller d8621fc43e Store "what" string in context 2018-09-11 15:54:00 -06:00
Michael Miller 284e10482a Add names for most common special characters
These names will be used instead of an underscore. This helps with
naming.
2018-09-11 15:09:23 -06:00
Michael Miller 95ec999bba Hide name of underlying let's block method
This prevent's defining a bang version of the let value with the same
name.
2018-09-11 12:54:47 -06:00
Michael Miller 2c0238d178 Invoke before_each, before_all, after_each, and after_all hooks 2018-09-10 22:33:40 -06:00
Michael Miller a725c0d5be Pass context to examples 2018-09-10 21:51:14 -06:00
Michael Miller 2ff8ebb3cb Implement creation of hooks 2018-09-10 21:27:24 -06:00
Michael Miller 387e129a89 Add context instances 2018-09-10 19:59:57 -06:00
Michael Miller 65da494e52 Fix for no block arg in #given - "value" treated as StringLiteral 2018-09-10 19:28:57 -06:00
Michael Miller b1d44fb480 Remove source tracking since it doesn't work right with macros 2018-09-07 21:49:46 -06:00
Michael Miller aa1764d972 Cleanup contextual arguments 2018-09-07 18:20:54 -06:00
Michael Miller 27e3f00d70 Remove RunOrder
Examples will be sorted by using the decorator pattern.The collection of
examples will be wrapped when a custom run order isused.
2018-09-07 15:06:57 -06:00
Michael Miller cb0ae516ae Catch duplicate given blocks with same variable name 2018-09-06 22:39:40 -06:00
Michael Miller 5646a6ebd9 Remove unecessary underscores 2018-09-06 22:23:57 -06:00
Michael Miller 4df8a1013d Update README - given is done for now 2018-09-06 22:12:58 -06:00
Michael Miller 45261c419f Super hacky way to resolve type of given variables 2018-09-06 22:08:32 -06:00
Michael Miller 7c8be54e5c Mostly complete code for #given 2018-09-06 21:13:03 -06:00
Michael Miller 3e7f43009f Use more correct name for constant 2018-09-06 19:22:47 -06:00
Michael Miller f7eeb2b2a3 Implement #described_class 2018-09-04 16:59:59 -06:00
Michael Miller 7ff91b4fc6 Rename "context" to "locals"
Remove possible confusion around variables (let and subject) and context
keyword.
2018-09-04 16:17:33 -06:00
Michael Miller de55e31407 Add basics for tracking source code location 2018-09-04 13:36:19 -06:00
Michael Miller b8dcf35165 Add report for suite results 2018-08-30 23:38:20 -06:00
Michael Miller 9d39bc80b1 Fix filename 2018-08-30 23:24:49 -06:00
Michael Miller 792bca99e5 Simplify rescue 2018-08-30 22:50:27 -06:00
Michael Miller fb4dd9fd22 Fix default run order 2018-08-30 22:47:40 -06:00
Michael Miller f4de0ffee9 Capture elapsed test time 2018-08-30 22:45:49 -06:00
Michael Miller e38fddb12a Initial code for reporters 2018-08-30 22:21:10 -06:00
Michael Miller aba9f50d58 Remove unused results 2018-08-30 21:57:44 -06:00
Michael Miller 9fb1a3b664 Add base classes for defining example run order 2018-08-30 21:32:13 -06:00
Michael Miller c100651680 Handle errored and failing specs separately
An errored example is one that throws an exception that is not from an 
expectation failing.
2018-08-30 21:15:20 -06:00
Michael Miller 65b16f9031 Capture exception from failed specs 2018-08-30 21:10:36 -06:00
Michael Miller 3aa6ab7a10 Some initial work on spec runner 2018-08-30 21:07:14 -06:00
Michael Miller cf789f54be Remove code for running examples
Preparing to add runner.
2018-08-30 15:55:20 -06:00
Michael Miller 6371fa5856 Cleanup feature checklist 2018-08-30 15:15:01 -06:00
Michael Miller 755921fa6f Update README with feature list and sample usage 2018-08-30 15:09:29 -06:00