From 4179f62cc270b9614075095e1e4931736cff30a7 Mon Sep 17 00:00:00 2001 From: Siddique Hameed Date: Wed, 22 May 2013 13:47:17 -0500 Subject: docs(guide/unit-testing): add expression example * Improved developer guide, directive unit testing documentation code with scope expression * Removed documentation block with nothing on it --- docs/content/guide/dev_guide.unit-testing.ngdoc | 26 +++++++------------------ 1 file changed, 7 insertions(+), 19 deletions(-) (limited to 'docs/content') diff --git a/docs/content/guide/dev_guide.unit-testing.ngdoc b/docs/content/guide/dev_guide.unit-testing.ngdoc index 175af471..c27180fe 100644 --- a/docs/content/guide/dev_guide.unit-testing.ngdoc +++ b/docs/content/guide/dev_guide.unit-testing.ngdoc @@ -294,14 +294,14 @@ app.directive('aGreatEye', function () { return { restrict: 'E', replace: true, - template: '

lidless, wreathed in flame

' + template: '

lidless, wreathed in flame, {{1 + 1}} times

' }; }); This directive is used as a tag ``. It replaces the entire tag with the -template `

lidless, wreathed in flame

`. Now we are going to write a jasmine unit test to -verify this functionality. +template `

lidless, wreathed in flame, {{1 + 1}} times

`. Now we are going to write a jasmine unit test to +verify this functionality. Note that the expression `{{1 + 1}}` times will also be evaluated in the rendered content.
 describe('Unit testing great quotes', function() {
@@ -322,30 +322,18 @@ describe('Unit testing great quotes', function() {
     it('Replaces the element with the appropriate content', function() {
         // Compile a piece of HTML containing the directive
         var element = $compile("")($rootScope);
+        // fire all the watches, so the scope expression {{1 + 1}} will be evaluated
+        $rootScope.$digest();
         // Check that the compiled element contains the templated content
-        expect(element.html()).toContain("lidless, wreathed in flame");
+        expect(element.html()).toContain("lidless, wreathed in flame, 2 times");
     });
 });
 
We inject the $compile service and $rootScope before each jasmine test. The $compile service is used to render the aGreatEye directive. After rendering the directive we ensure that the directive has -replaced the content and "lidless, wreathed in flame" is present. +replaced the content and "lidless, wreathed in flame, 2 times" is present. -## Mocks -oue - -## Global State Isolation -oue - -# Preferred way of Testing -uo - -## JavaScriptTestDriver -ou - -## Jasmine -ou ## Sample project See the {@link https://github.com/angular/angular-seed angular-seed} project for an example. -- cgit v1.2.3