spec/cloud_sesame/query/domain/block_spec.rb in CloudSesame-0.6.8 vs spec/cloud_sesame/query/domain/block_spec.rb in CloudSesame-0.7.0

- old
+ new

@@ -1,10 +1,25 @@ +require_relative '../dsl/field_accessors_spec' + module CloudSesame module Query module Domain describe Block do + # Module Specs + # ======================================= + it_behaves_like 'FieldAccessors' do + let(:scope) { AST::Root.new(context, {}) } + subject { Block.new(self, context) } + before do + Block.send(:include, DSL::FieldAccessors) + subject.instance_variable_set(:@_scopes, [scope]) + end + end + + # Class Specs + # ======================================= class Caller def initialize @test = "hello" end @@ -16,11 +31,10 @@ subject { Block.new(Caller.new, {}) } [ DSL::BlockStyledOperators, - DSL::FieldAccessors, DSL::ScopeAccessors, DSL::Operators, DSL::BindCaller ].each do |included_module| it "should include #{ included_module }" do @@ -61,16 +75,9 @@ expect(subject._scope).to eq nil end end end - # def _eval(node, _scope, _return = _scope, &block) - # _scopes.push node - # instance_eval &block - # _scope << node - # _scopes.pop - # _scope.is_a?(AST::Root) ? _return : node - # end describe '#_eval' do let(:node) { AST::And.new({}, {}) } let(:scope) { AST::And.new({}, {}) }