angular-gem 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. checksums.yaml +8 -8
  2. data/lib/angular-gem/version.rb +1 -1
  3. data/vendor/assets/javascripts/1.3.2/angular-animate.js +2136 -0
  4. data/vendor/assets/javascripts/1.3.2/angular-aria.js +261 -0
  5. data/vendor/assets/javascripts/1.3.2/angular-cookies.js +206 -0
  6. data/vendor/assets/javascripts/1.3.2/angular-loader.js +422 -0
  7. data/vendor/assets/javascripts/1.3.2/angular-messages.js +400 -0
  8. data/vendor/assets/javascripts/1.3.2/angular-mocks.js +2376 -0
  9. data/vendor/assets/javascripts/1.3.2/angular-resource.js +667 -0
  10. data/vendor/assets/javascripts/1.3.2/angular-route.js +982 -0
  11. data/vendor/assets/javascripts/1.3.2/angular-sanitize.js +678 -0
  12. data/vendor/assets/javascripts/1.3.2/angular-scenario.js +37076 -0
  13. data/vendor/assets/javascripts/1.3.2/angular-touch.js +622 -0
  14. data/vendor/assets/javascripts/1.3.2/angular.js +25722 -0
  15. data/vendor/assets/javascripts/angular-animate.js +1 -1
  16. data/vendor/assets/javascripts/angular-aria.js +12 -1
  17. data/vendor/assets/javascripts/angular-cookies.js +1 -1
  18. data/vendor/assets/javascripts/angular-loader.js +2 -2
  19. data/vendor/assets/javascripts/angular-messages.js +1 -1
  20. data/vendor/assets/javascripts/angular-mocks.js +88 -1
  21. data/vendor/assets/javascripts/angular-resource.js +1 -1
  22. data/vendor/assets/javascripts/angular-route.js +10 -6
  23. data/vendor/assets/javascripts/angular-sanitize.js +1 -1
  24. data/vendor/assets/javascripts/angular-scenario.js +143 -46
  25. data/vendor/assets/javascripts/angular-touch.js +1 -1
  26. data/vendor/assets/javascripts/angular.js +143 -46
  27. metadata +13 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.3.1
2
+ * @license AngularJS v1.3.2
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.3.1
2
+ * @license AngularJS v1.3.2
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -71,7 +71,7 @@ function minErr(module, ErrorConstructor) {
71
71
  return match;
72
72
  });
73
73
 
74
- message = message + '\nhttp://errors.angularjs.org/1.3.1/' +
74
+ message = message + '\nhttp://errors.angularjs.org/1.3.2/' +
75
75
  (module ? module + '/' : '') + code;
76
76
  for (i = 2; i < arguments.length; i++) {
77
77
  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -2089,11 +2089,11 @@ function setupModuleLoader(window) {
2089
2089
  * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
2090
2090
  */
2091
2091
  var version = {
2092
- full: '1.3.1', // all of these placeholder strings will be replaced by grunt's
2092
+ full: '1.3.2', // all of these placeholder strings will be replaced by grunt's
2093
2093
  major: 1, // package task
2094
2094
  minor: 3,
2095
- dot: 1,
2096
- codeName: 'spectral-lobster'
2095
+ dot: 2,
2096
+ codeName: 'cardiovasculatory-magnification'
2097
2097
  };
2098
2098
 
2099
2099
 
@@ -6270,10 +6270,17 @@ function $TemplateCacheProvider() {
6270
6270
  *
6271
6271
  *
6272
6272
  * @param {string|DOMElement} element Element or HTML string to compile into a template function.
6273
- * @param {function(angular.Scope, cloneAttachFn=)} transclude function available to directives.
6273
+ * @param {function(angular.Scope, cloneAttachFn=)} transclude function available to directives - DEPRECATED.
6274
+ *
6275
+ * <div class="alert alert-error">
6276
+ * **Note:** Passing a `transclude` function to the $compile function is deprecated, as it
6277
+ * e.g. will not use the right outer scope. Please pass the transclude function as a
6278
+ * `parentBoundTranscludeFn` to the link function instead.
6279
+ * </div>
6280
+ *
6274
6281
  * @param {number} maxPriority only apply directives lower than given priority (Only effects the
6275
6282
  * root element(s), not their children)
6276
- * @returns {function(scope, cloneAttachFn=)} a link function which is used to bind template
6283
+ * @returns {function(scope, cloneAttachFn=, options=)} a link function which is used to bind template
6277
6284
  * (a DOM element/tree) to a scope. Where:
6278
6285
  *
6279
6286
  * * `scope` - A {@link ng.$rootScope.Scope Scope} to bind to.
@@ -6285,6 +6292,19 @@ function $TemplateCacheProvider() {
6285
6292
  * * `clonedElement` - is a clone of the original `element` passed into the compiler.
6286
6293
  * * `scope` - is the current scope with which the linking function is working with.
6287
6294
  *
6295
+ * * `options` - An optional object hash with linking options. If `options` is provided, then the following
6296
+ * keys may be used to control linking behavior:
6297
+ *
6298
+ * * `parentBoundTranscludeFn` - the transclude function made available to
6299
+ * directives; if given, it will be passed through to the link functions of
6300
+ * directives found in `element` during compilation.
6301
+ * * `transcludeControllers` - an object hash with keys that map controller names
6302
+ * to controller instances; if given, it will make the controllers
6303
+ * available to directives.
6304
+ * * `futureParentElement` - defines the parent to which the `cloneAttachFn` will add
6305
+ * the cloned elements; only needed for transcludes that are allowed to contain non html
6306
+ * elements (e.g. SVG elements). See also the directive.controller property.
6307
+ *
6288
6308
  * Calling the linking function returns the element of the template. It is either the original
6289
6309
  * element passed in, or the clone of the element if the `cloneAttachFn` is provided.
6290
6310
  *
@@ -6803,8 +6823,22 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
6803
6823
  maxPriority, ignoreDirective, previousCompileContext);
6804
6824
  compile.$$addScopeClass($compileNodes);
6805
6825
  var namespace = null;
6806
- return function publicLinkFn(scope, cloneConnectFn, transcludeControllers, parentBoundTranscludeFn, futureParentElement) {
6826
+ return function publicLinkFn(scope, cloneConnectFn, options) {
6807
6827
  assertArg(scope, 'scope');
6828
+
6829
+ options = options || {};
6830
+ var parentBoundTranscludeFn = options.parentBoundTranscludeFn,
6831
+ transcludeControllers = options.transcludeControllers,
6832
+ futureParentElement = options.futureParentElement;
6833
+
6834
+ // When `parentBoundTranscludeFn` is passed, it is a
6835
+ // `controllersBoundTransclude` function (it was previously passed
6836
+ // as `transclude` to directive.link) so we must unwrap it to get
6837
+ // its `boundTranscludeFn`
6838
+ if (parentBoundTranscludeFn && parentBoundTranscludeFn.$$boundTransclude) {
6839
+ parentBoundTranscludeFn = parentBoundTranscludeFn.$$boundTransclude;
6840
+ }
6841
+
6808
6842
  if (!namespace) {
6809
6843
  namespace = detectNamespaceForChildElements(futureParentElement);
6810
6844
  }
@@ -6974,7 +7008,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
6974
7008
  transcludedScope.$$transcluded = true;
6975
7009
  }
6976
7010
 
6977
- return transcludeFn(transcludedScope, cloneFn, controllers, previousBoundTranscludeFn, futureParentElement);
7011
+ return transcludeFn(transcludedScope, cloneFn, {
7012
+ parentBoundTranscludeFn: previousBoundTranscludeFn,
7013
+ transcludeControllers: controllers,
7014
+ futureParentElement: futureParentElement
7015
+ });
6978
7016
  };
6979
7017
 
6980
7018
  return boundTranscludeFn;
@@ -7442,7 +7480,13 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
7442
7480
  isolateScope = scope.$new(true);
7443
7481
  }
7444
7482
 
7445
- transcludeFn = boundTranscludeFn && controllersBoundTransclude;
7483
+ if (boundTranscludeFn) {
7484
+ // track `boundTranscludeFn` so it can be unwrapped if `transcludeFn`
7485
+ // is later passed as `parentBoundTranscludeFn` to `publicLinkFn`
7486
+ transcludeFn = controllersBoundTransclude;
7487
+ transcludeFn.$$boundTransclude = boundTranscludeFn;
7488
+ }
7489
+
7446
7490
  if (controllerDirectives) {
7447
7491
  // TODO: merge `controllers` and `elementControllers` into single object.
7448
7492
  controllers = {};
@@ -12201,64 +12245,85 @@ function setter(obj, path, setValue, fullExp) {
12201
12245
  return setValue;
12202
12246
  }
12203
12247
 
12204
- var getterFnCache = createMap();
12248
+ var getterFnCacheDefault = createMap();
12249
+ var getterFnCacheExpensive = createMap();
12250
+
12251
+ function isPossiblyDangerousMemberName(name) {
12252
+ return name == 'constructor';
12253
+ }
12205
12254
 
12206
12255
  /**
12207
12256
  * Implementation of the "Black Hole" variant from:
12208
12257
  * - http://jsperf.com/angularjs-parse-getter/4
12209
12258
  * - http://jsperf.com/path-evaluation-simplified/7
12210
12259
  */
12211
- function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp) {
12260
+ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, expensiveChecks) {
12212
12261
  ensureSafeMemberName(key0, fullExp);
12213
12262
  ensureSafeMemberName(key1, fullExp);
12214
12263
  ensureSafeMemberName(key2, fullExp);
12215
12264
  ensureSafeMemberName(key3, fullExp);
12216
12265
  ensureSafeMemberName(key4, fullExp);
12266
+ var eso = function(o) {
12267
+ return ensureSafeObject(o, fullExp);
12268
+ };
12269
+ var eso0 = (expensiveChecks || isPossiblyDangerousMemberName(key0)) ? eso : identity;
12270
+ var eso1 = (expensiveChecks || isPossiblyDangerousMemberName(key1)) ? eso : identity;
12271
+ var eso2 = (expensiveChecks || isPossiblyDangerousMemberName(key2)) ? eso : identity;
12272
+ var eso3 = (expensiveChecks || isPossiblyDangerousMemberName(key3)) ? eso : identity;
12273
+ var eso4 = (expensiveChecks || isPossiblyDangerousMemberName(key4)) ? eso : identity;
12217
12274
 
12218
12275
  return function cspSafeGetter(scope, locals) {
12219
12276
  var pathVal = (locals && locals.hasOwnProperty(key0)) ? locals : scope;
12220
12277
 
12221
12278
  if (pathVal == null) return pathVal;
12222
- pathVal = pathVal[key0];
12279
+ pathVal = eso0(pathVal[key0]);
12223
12280
 
12224
12281
  if (!key1) return pathVal;
12225
12282
  if (pathVal == null) return undefined;
12226
- pathVal = pathVal[key1];
12283
+ pathVal = eso1(pathVal[key1]);
12227
12284
 
12228
12285
  if (!key2) return pathVal;
12229
12286
  if (pathVal == null) return undefined;
12230
- pathVal = pathVal[key2];
12287
+ pathVal = eso2(pathVal[key2]);
12231
12288
 
12232
12289
  if (!key3) return pathVal;
12233
12290
  if (pathVal == null) return undefined;
12234
- pathVal = pathVal[key3];
12291
+ pathVal = eso3(pathVal[key3]);
12235
12292
 
12236
12293
  if (!key4) return pathVal;
12237
12294
  if (pathVal == null) return undefined;
12238
- pathVal = pathVal[key4];
12295
+ pathVal = eso4(pathVal[key4]);
12239
12296
 
12240
12297
  return pathVal;
12241
12298
  };
12242
12299
  }
12243
12300
 
12301
+ function getterFnWithEnsureSafeObject(fn, fullExpression) {
12302
+ return function(s, l) {
12303
+ return fn(s, l, ensureSafeObject, fullExpression);
12304
+ };
12305
+ }
12306
+
12244
12307
  function getterFn(path, options, fullExp) {
12308
+ var expensiveChecks = options.expensiveChecks;
12309
+ var getterFnCache = (expensiveChecks ? getterFnCacheExpensive : getterFnCacheDefault);
12245
12310
  var fn = getterFnCache[path];
12246
-
12247
12311
  if (fn) return fn;
12248
12312
 
12313
+
12249
12314
  var pathKeys = path.split('.'),
12250
12315
  pathKeysLength = pathKeys.length;
12251
12316
 
12252
12317
  // http://jsperf.com/angularjs-parse-getter/6
12253
12318
  if (options.csp) {
12254
12319
  if (pathKeysLength < 6) {
12255
- fn = cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4], fullExp);
12320
+ fn = cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4], fullExp, expensiveChecks);
12256
12321
  } else {
12257
12322
  fn = function cspSafeGetter(scope, locals) {
12258
12323
  var i = 0, val;
12259
12324
  do {
12260
12325
  val = cspSafeGetterFn(pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++],
12261
- pathKeys[i++], fullExp)(scope, locals);
12326
+ pathKeys[i++], fullExp, expensiveChecks)(scope, locals);
12262
12327
 
12263
12328
  locals = undefined; // clear after first iteration
12264
12329
  scope = val;
@@ -12268,22 +12333,33 @@ function getterFn(path, options, fullExp) {
12268
12333
  }
12269
12334
  } else {
12270
12335
  var code = '';
12336
+ if (expensiveChecks) {
12337
+ code += 's = eso(s, fe);\nl = eso(l, fe);\n';
12338
+ }
12339
+ var needsEnsureSafeObject = expensiveChecks;
12271
12340
  forEach(pathKeys, function(key, index) {
12272
12341
  ensureSafeMemberName(key, fullExp);
12273
- code += 'if(s == null) return undefined;\n' +
12274
- 's='+ (index
12342
+ var lookupJs = (index
12275
12343
  // we simply dereference 's' on any .dot notation
12276
12344
  ? 's'
12277
12345
  // but if we are first then we check locals first, and if so read it first
12278
- : '((l&&l.hasOwnProperty("' + key + '"))?l:s)') + '.' + key + ';\n';
12346
+ : '((l&&l.hasOwnProperty("' + key + '"))?l:s)') + '.' + key;
12347
+ if (expensiveChecks || isPossiblyDangerousMemberName(key)) {
12348
+ lookupJs = 'eso(' + lookupJs + ', fe)';
12349
+ needsEnsureSafeObject = true;
12350
+ }
12351
+ code += 'if(s == null) return undefined;\n' +
12352
+ 's=' + lookupJs + ';\n';
12279
12353
  });
12280
12354
  code += 'return s;';
12281
12355
 
12282
12356
  /* jshint -W054 */
12283
- var evaledFnGetter = new Function('s', 'l', code); // s=scope, l=locals
12357
+ var evaledFnGetter = new Function('s', 'l', 'eso', 'fe', code); // s=scope, l=locals, eso=ensureSafeObject
12284
12358
  /* jshint +W054 */
12285
12359
  evaledFnGetter.toString = valueFn(code);
12286
-
12360
+ if (needsEnsureSafeObject) {
12361
+ evaledFnGetter = getterFnWithEnsureSafeObject(evaledFnGetter, fullExp);
12362
+ }
12287
12363
  fn = evaledFnGetter;
12288
12364
  }
12289
12365
 
@@ -12353,15 +12429,20 @@ function getValueOf(value) {
12353
12429
  * service.
12354
12430
  */
12355
12431
  function $ParseProvider() {
12356
- var cache = createMap();
12432
+ var cacheDefault = createMap();
12433
+ var cacheExpensive = createMap();
12357
12434
 
12358
- var $parseOptions = {
12359
- csp: false
12360
- };
12361
12435
 
12362
12436
 
12363
12437
  this.$get = ['$filter', '$sniffer', function($filter, $sniffer) {
12364
- $parseOptions.csp = $sniffer.csp;
12438
+ var $parseOptions = {
12439
+ csp: $sniffer.csp,
12440
+ expensiveChecks: false
12441
+ },
12442
+ $parseOptionsExpensive = {
12443
+ csp: $sniffer.csp,
12444
+ expensiveChecks: true
12445
+ };
12365
12446
 
12366
12447
  function wrapSharedExpression(exp) {
12367
12448
  var wrapped = exp;
@@ -12378,13 +12459,14 @@ function $ParseProvider() {
12378
12459
  return wrapped;
12379
12460
  }
12380
12461
 
12381
- return function $parse(exp, interceptorFn) {
12462
+ return function $parse(exp, interceptorFn, expensiveChecks) {
12382
12463
  var parsedExpression, oneTime, cacheKey;
12383
12464
 
12384
12465
  switch (typeof exp) {
12385
12466
  case 'string':
12386
12467
  cacheKey = exp = exp.trim();
12387
12468
 
12469
+ var cache = (expensiveChecks ? cacheExpensive : cacheDefault);
12388
12470
  parsedExpression = cache[cacheKey];
12389
12471
 
12390
12472
  if (!parsedExpression) {
@@ -12393,8 +12475,9 @@ function $ParseProvider() {
12393
12475
  exp = exp.substring(2);
12394
12476
  }
12395
12477
 
12396
- var lexer = new Lexer($parseOptions);
12397
- var parser = new Parser(lexer, $filter, $parseOptions);
12478
+ var parseOptions = expensiveChecks ? $parseOptionsExpensive : $parseOptions;
12479
+ var lexer = new Lexer(parseOptions);
12480
+ var parser = new Parser(lexer, $filter, parseOptions);
12398
12481
  parsedExpression = parser.parse(exp);
12399
12482
 
12400
12483
  if (parsedExpression.constant) {
@@ -12567,7 +12650,7 @@ function $ParseProvider() {
12567
12650
  var result = interceptorFn(value, scope, locals);
12568
12651
  // we only return the interceptor's result if the
12569
12652
  // initial value is defined (for bind-once)
12570
- return isDefined(value) ? result : value;
12653
+ return isDefined(value) || interceptorFn.$stateful ? result : value;
12571
12654
  };
12572
12655
 
12573
12656
  // Propagate $$watchDelegates other then inputsWatchDelegate
@@ -13300,6 +13383,10 @@ function $RootScopeProvider() {
13300
13383
  expect(parent.salutation).toEqual('Hello');
13301
13384
  * ```
13302
13385
  *
13386
+ * When interacting with `Scope` in tests, additional helper methods are available on the
13387
+ * instances of `Scope` type. See {@link ngMock.$rootScope.Scope ngMock Scope} for additional
13388
+ * details.
13389
+ *
13303
13390
  *
13304
13391
  * @param {Object.<string, function()>=} providers Map of service factory which need to be
13305
13392
  * provided for the current scope. Defaults to {@link ng}.
@@ -13738,6 +13825,9 @@ function $RootScopeProvider() {
13738
13825
  newValue = _value;
13739
13826
  var newLength, key, bothNaN, newItem, oldItem;
13740
13827
 
13828
+ // If the new value is undefined, then return undefined as the watch may be a one-time watch
13829
+ if (isUndefined(newValue)) return;
13830
+
13741
13831
  if (!isObject(newValue)) { // if primitive
13742
13832
  if (oldValue !== newValue) {
13743
13833
  oldValue = newValue;
@@ -18540,7 +18630,7 @@ var inputType = {
18540
18630
 
18541
18631
  /**
18542
18632
  * @ngdoc input
18543
- * @name input[dateTimeLocal]
18633
+ * @name input[datetime-local]
18544
18634
  *
18545
18635
  * @description
18546
18636
  * Input with datetime validation and transformation. In browsers that do not yet support
@@ -19916,9 +20006,6 @@ var VALID_CLASS = 'ng-valid',
19916
20006
  * };
19917
20007
  * ```
19918
20008
  *
19919
- * @param {string} name The name of the validator.
19920
- * @param {Function} validationFn The validation function that will be run.
19921
- *
19922
20009
  * @property {Array.<Function>} $viewChangeListeners Array of functions to execute whenever the
19923
20010
  * view value has changed. It is called with no arguments, and its return value is ignored.
19924
20011
  * This can be used in place of additional $watches against the model value.
@@ -19932,6 +20019,7 @@ var VALID_CLASS = 'ng-valid',
19932
20019
  * @property {boolean} $dirty True if user has already interacted with the control.
19933
20020
  * @property {boolean} $valid True if there is no error.
19934
20021
  * @property {boolean} $invalid True if at least one error on the control.
20022
+ * @property {string} $name The name attribute of the control.
19935
20023
  *
19936
20024
  * @description
19937
20025
  *
@@ -20632,7 +20720,7 @@ var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$
20632
20720
  * - {@link input[email] email}
20633
20721
  * - {@link input[url] url}
20634
20722
  * - {@link input[date] date}
20635
- * - {@link input[dateTimeLocal] dateTimeLocal}
20723
+ * - {@link input[datetime-local] datetime-local}
20636
20724
  * - {@link input[time] time}
20637
20725
  * - {@link input[month] month}
20638
20726
  * - {@link input[week] week}
@@ -21112,12 +21200,17 @@ var CONSTANT_VALUE_REGEXP = /^(true|false|\d+)$/;
21112
21200
  * @name ngValue
21113
21201
  *
21114
21202
  * @description
21115
- * Binds the given expression to the value of `option` or `input[radio]`, so
21116
- * that when the element is selected, the `ngModel` of that element is set to
21203
+ * Binds the given expression to the value of `<option>` or {@link input[radio] `input[radio]`},
21204
+ * so that when the element is selected, the {@link ngModel `ngModel`} of that element is set to
21117
21205
  * the bound value.
21118
21206
  *
21119
- * `ngValue` is useful when dynamically generating lists of radio buttons using `ng-repeat`, as
21120
- * shown below.
21207
+ * `ngValue` is useful when dynamically generating lists of radio buttons using
21208
+ * {@link ngRepeat `ngRepeat`}, as shown below.
21209
+ *
21210
+ * Likewise, `ngValue` can be used to generate `<option>` elements for
21211
+ * the {@link select `select`} element. In that case however, only strings are supported
21212
+ * for the `value `attribute, so the resulting `ngModel` will always be a string.
21213
+ * Support for `select` models with non-string values is available via `ngOptions`.
21121
21214
  *
21122
21215
  * @element input
21123
21216
  * @param {string=} ngValue angular expression, whose value will be bound to the `value` attribute
@@ -22541,7 +22634,11 @@ forEach(
22541
22634
  return {
22542
22635
  restrict: 'A',
22543
22636
  compile: function($element, attr) {
22544
- var fn = $parse(attr[directiveName]);
22637
+ // We expose the powerful $event object on the scope that provides access to the Window,
22638
+ // etc. that isn't protected by the fast paths in $parse. We explicitly request better
22639
+ // checks at the cost of speed since event handler expressions are not executed as
22640
+ // frequently as regular change detection.
22641
+ var fn = $parse(attr[directiveName], /* interceptorFn */ null, /* expensiveChecks */ true);
22545
22642
  return function ngEventHandler(scope, element) {
22546
22643
  element.on(eventName, function(event) {
22547
22644
  var callback = function() {
@@ -23376,7 +23473,7 @@ var ngIncludeFillContentDirective = ['$compile',
23376
23473
  $compile(jqLiteBuildFragment(ctrl.template, document).childNodes)(scope,
23377
23474
  function namespaceAdaptedClone(clone) {
23378
23475
  $element.append(clone);
23379
- }, undefined, undefined, $element);
23476
+ }, {futureParentElement: $element});
23380
23477
  return;
23381
23478
  }
23382
23479
 
@@ -25340,7 +25437,7 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
25340
25437
  if (multiple) {
25341
25438
  return isDefined(selectedSet.remove(callExpression(compareValueFn, key, value)));
25342
25439
  } else {
25343
- return viewValue == callExpression(compareValueFn, key, value);
25440
+ return viewValue === callExpression(compareValueFn, key, value);
25344
25441
  }
25345
25442
  };
25346
25443
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: angular-gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Vuerings
@@ -1032,6 +1032,18 @@ files:
1032
1032
  - vendor/assets/javascripts/1.3.1/angular-scenario.js
1033
1033
  - vendor/assets/javascripts/1.3.1/angular-touch.js
1034
1034
  - vendor/assets/javascripts/1.3.1/angular.js
1035
+ - vendor/assets/javascripts/1.3.2/angular-animate.js
1036
+ - vendor/assets/javascripts/1.3.2/angular-aria.js
1037
+ - vendor/assets/javascripts/1.3.2/angular-cookies.js
1038
+ - vendor/assets/javascripts/1.3.2/angular-loader.js
1039
+ - vendor/assets/javascripts/1.3.2/angular-messages.js
1040
+ - vendor/assets/javascripts/1.3.2/angular-mocks.js
1041
+ - vendor/assets/javascripts/1.3.2/angular-resource.js
1042
+ - vendor/assets/javascripts/1.3.2/angular-route.js
1043
+ - vendor/assets/javascripts/1.3.2/angular-sanitize.js
1044
+ - vendor/assets/javascripts/1.3.2/angular-scenario.js
1045
+ - vendor/assets/javascripts/1.3.2/angular-touch.js
1046
+ - vendor/assets/javascripts/1.3.2/angular.js
1035
1047
  - vendor/assets/javascripts/angular-animate.js
1036
1048
  - vendor/assets/javascripts/angular-aria.js
1037
1049
  - vendor/assets/javascripts/angular-cookies.js