aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorIgor Minar2011-09-15 00:47:15 +0200
committerIgor Minar2011-09-16 02:44:32 +0200
commit0e5a24c584d88b17297010676b8e0005b3545efd (patch)
tree7a7e1a75b4c6fcb382b340d90cddef0913f5c325 /test
parent4e8f0d6e9ff1b852de9de9da72d0fac138bcd1a7 (diff)
downloadangular.js-0e5a24c584d88b17297010676b8e0005b3545efd.tar.bz2
fix(specs): jQuery now returns attr name instead of true/false for special attrs
for special attrs like 'checked' or 'multiple', jquery now returns the name or undedefined. e.g. foo.attr('checked') => 'checked' || undefined The solution is a combination of updating our tests as well as switching over to prop() instead which properly returns true/false
Diffstat (limited to 'test')
-rw-r--r--test/jqLiteSpec.js14
-rw-r--r--test/scenario/dslSpec.js16
-rw-r--r--test/widgetsSpec.js4
3 files changed, 17 insertions, 17 deletions
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
index a7fded5c..b31b1664 100644
--- a/test/jqLiteSpec.js
+++ b/test/jqLiteSpec.js
@@ -150,18 +150,18 @@ describe('jqLite', function(){
expect(jqLite(b).attr('prop')).toBeFalsy();
});
- it('should read special attributes as boolean', function(){
+ it('should read special attributes as strings', function(){
var select = jqLite('<select>');
- expect(select.attr('multiple')).toEqual(false);
- expect(jqLite('<select multiple>').attr('multiple')).toEqual(true);
- expect(jqLite('<select multiple="">').attr('multiple')).toEqual(true);
- expect(jqLite('<select multiple="x">').attr('multiple')).toEqual(true);
+ expect(select.attr('multiple')).toBeUndefined();
+ expect(jqLite('<select multiple>').attr('multiple')).toBe('multiple');
+ expect(jqLite('<select multiple="">').attr('multiple')).toBe('multiple');
+ expect(jqLite('<select multiple="x">').attr('multiple')).toBe('multiple');
select.attr('multiple', false);
- expect(select.attr('multiple')).toEqual(false);
+ expect(select.attr('multiple')).toBeUndefined();
select.attr('multiple', true);
- expect(select.attr('multiple')).toEqual(true);
+ expect(select.attr('multiple')).toBe('multiple');
});
it('should return undefined for non-existing attributes', function() {
diff --git a/test/scenario/dslSpec.js b/test/scenario/dslSpec.js
index 8e22e469..0334dd78 100644
--- a/test/scenario/dslSpec.js
+++ b/test/scenario/dslSpec.js
@@ -504,15 +504,15 @@ describe("angular.scenario.dsl", function() {
it('should toggle checkbox state', function() {
doc.append('<input type="checkbox" name="test.input" checked>');
expect(_jQuery('input[name="test.input"]').
- attr('checked')).toBeTruthy();
+ prop('checked')).toBe(true);
var chain = $root.dsl.input('test.input');
chain.check();
expect(_jQuery('input[name="test.input"]').
- attr('checked')).toBeFalsy();
+ prop('checked')).toBe(false);
$window.angular.reset();
chain.check();
expect(_jQuery('input[name="test.input"]').
- attr('checked')).toBeTruthy();
+ prop('checked')).toBe(true);
});
it('should return error if checkbox did not match', function() {
@@ -527,17 +527,17 @@ describe("angular.scenario.dsl", function() {
'<input type="radio" name="0@test.input" value="bar" checked="checked">'
);
// HACK! We don't know why this is sometimes false on chrome
- _jQuery('input[name="0@test.input"][value="bar"]').attr('checked', true);
+ _jQuery('input[name="0@test.input"][value="bar"]').prop('checked', true);
expect(_jQuery('input[name="0@test.input"][value="bar"]').
- attr('checked')).toBeTruthy();
+ prop('checked')).toBe(true);
expect(_jQuery('input[name="0@test.input"][value="foo"]').
- attr('checked')).toBeFalsy();
+ prop('checked')).toBe(false);
var chain = $root.dsl.input('test.input');
chain.select('foo');
expect(_jQuery('input[name="0@test.input"][value="bar"]').
- attr('checked')).toBeFalsy();
+ prop('checked')).toBe(false);
expect(_jQuery('input[name="0@test.input"][value="foo"]').
- attr('checked')).toBeTruthy();
+ prop('checked')).toBe(true);
});
it('should return error if radio button did not match', function() {
diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js
index 6d6e47c6..6fccaa48 100644
--- a/test/widgetsSpec.js
+++ b/test/widgetsSpec.js
@@ -957,8 +957,8 @@ describe("widget", function(){
scope.selected = [];
scope.$digest();
expect(select.find('option').length).toEqual(2);
- expect(jqLite(select.find('option')[0]).attr('selected')).toEqual(false);
- expect(jqLite(select.find('option')[1]).attr('selected')).toEqual(false);
+ expect(select.find('option')[0].selected).toBe(false);
+ expect(select.find('option')[1].selected).toBe(false);
scope.selected.push(scope.values[1]);
scope.$digest();