@@ -105,6 +105,59 @@ angularTextMarkup('option', function(text, textNode, parentElement){
105
105
*
106
106
* @element ANY
107
107
* @param {template } template any string which can contain `{{}}` markup.
108
+ *
109
+ * @example
110
+ * This example uses `link` variable inside `href` attribute:
111
+ <doc:example>
112
+ <doc:source>
113
+ <input name="value" /><br />
114
+ <a id="link-1" href ng:click="value = 1">link 1</a> (link, don't reload)<br />
115
+ <a id="link-2" href="" ng:click="value = 2">link 2</a> (link, don't reload)<br />
116
+ <a id="link-3" ng:href="#{{'123'}}" ng:click="value = 3">link 3</a> (link, reload!)<br />
117
+ <a id="link-4" href="" name="xx" ng:click="value = 4">anchor</a> (link, don't reload)<br />
118
+ <a id="link-5" name="xxx" ng:click="value = 5">anchor</a> (no link)<br />
119
+ <a id="link-6" ng:href="#/{{value}}">link</a> (link, change hash)
120
+ </doc:source>
121
+ <doc:scenario>
122
+ it('should execute ng:click but not reload when href without value', function() {
123
+ element('#link-1').click();
124
+ expect(element('input[name=value]').val()).toEqual('1');
125
+ expect(element('#link-1').attr('href')).toBe("");
126
+ });
127
+
128
+ it('should execute ng:click but not reload when href empty string', function() {
129
+ element('#link-2').click();
130
+ expect(element('input[name=value]').val()).toEqual('2');
131
+ expect(element('#link-2').attr('href')).toBe("");
132
+ });
133
+
134
+ it('should execute ng:click and change url when ng:href specified', function() {
135
+ element('#link-3').click();
136
+ expect(element('input[name=value]').val()).toEqual('3');
137
+ expect(element('#link-3').attr('href')).toBe("#123");
138
+ expect(browser().location().hash()).toEqual('123');
139
+ });
140
+
141
+ it('should execute ng:click but not reload when href empty string and name specified', function() {
142
+ element('#link-4').click();
143
+ expect(element('input[name=value]').val()).toEqual('4');
144
+ expect(element('#link-4').attr('href')).toBe("");
145
+ });
146
+
147
+ it('should execute ng:click but not reload when no href but name specified', function() {
148
+ element('#link-5').click();
149
+ expect(element('input[name=value]').val()).toEqual('5');
150
+ expect(element('#link-5').attr('href')).toBe(undefined);
151
+ });
152
+
153
+ it('should only change url when only ng:href', function() {
154
+ input('value').enter('6');
155
+ element('#link-6').click();
156
+ expect(browser().location().hash()).toEqual('/6');
157
+ expect(element('#link-6').attr('href')).toBe("#/6");
158
+ });
159
+ </doc:scenario>
160
+ </doc:example>
108
161
*/
109
162
110
163
/**
0 commit comments