'use strict';
describe("ScenarioSpec: Compilation", function() {
  var element;
  afterEach(function() {
    dealoc(element);
  });
  describe('compilation', function() {
    it("should compile dom node and return scope", inject(function($rootScope, $compile) {
      var node = jqLite('
{{b=a+1}}
')[0];
      element = $compile(node)($rootScope);
      $rootScope.$digest();
      expect($rootScope.a).toEqual(1);
      expect($rootScope.b).toEqual(2);
    }));
    it("should compile jQuery node and return scope", inject(function($rootScope, $compile) {
      element = $compile(jqLite('{{a=123}}
'))($rootScope);
      $rootScope.$digest();
      expect(jqLite(element).text()).toEqual('123');
    }));
    it("should compile text node and return scope", inject(function($rootScope, $compile) {
      element = $compile('{{a=123}}
')($rootScope);
      $rootScope.$digest();
      expect(jqLite(element).text()).toEqual('123');
    }));
  });
  describe('jQuery', function () {
    it('should exist on the angular.scenario object', function () {
      expect(angular.scenario.jQuery).toBeDefined();
    });
    it('should have common jQuery methods', function () {
      var jQuery = angular.scenario.jQuery;
      expect(typeof jQuery).toEqual('function');
      expect(typeof jQuery('').html).toEqual('function');
    })
  });
});