Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add more tests
  • Loading branch information
František Hába committed Mar 6, 2012
1 parent f7e46fd commit 5d3709d
Showing 1 changed file with 84 additions and 0 deletions.
84 changes: 84 additions & 0 deletions tests/tests.js
Expand Up @@ -897,4 +897,88 @@ suite('JSON', function() {
}));
});

});

/**
* More ambitious notations
* --------------------
*/
suite('More Ambitious Notations', function() {

var testObject = {
user: {
profile: {
name: {
firstName: {
"my First name": {
name: 'František'
}
}
}
}
}
};

test("using the ‘user.profile.name.firstName['my First name'].name’ notation", function() {
var result = pinch(testObject, "user.profile.name.firstName['my First name'].name", 'Test');
expect(result.user.profile.name.firstName['my First name'].name).to.be.eql('Test');
});

test("using the ‘['user'].profile.name.firstName['my First name'].name’ notation", function() {
var result = pinch(testObject, "['user'].profile.name.firstName['my First name'].name", 'Test');
expect(result.user.profile.name.firstName['my First name'].name).to.be.eql('Test');
});

test("using the ‘['user']['profile'].name.firstName['my First name'].name’ notation", function() {
var result = pinch(testObject, "['user']['profile'].name.firstName['my First name'].name", 'Test');
expect(result.user.profile.name.firstName['my First name'].name).to.be.eql('Test');
});

test("using the ‘['user']['profile']['name'].firstName['my First name'].name’ notation", function() {
var result = pinch(testObject, "['user']['profile']['name'].firstName['my First name'].name", 'Test');
expect(result.user.profile.name.firstName['my First name'].name).to.be.eql('Test');
});

test("using the ‘['user']['profile']['name']['firstName']['my First name'].name’ notation", function() {
var result = pinch(testObject, "['user']['profile']['name']['firstName']['my First name'].name", 'Test');
expect(result.user.profile.name.firstName['my First name'].name).to.be.eql('Test');
});

test("using the ‘['user']['profile']['name']['firstName']['my First name']['name']’ notation", function() {
var result = pinch(testObject, "['user']['profile']['name']['firstName']['my First name']['name']", 'Test');
expect(result.user.profile.name.firstName['my First name'].name).to.be.eql('Test');
});

// --------------------

test('using the ‘user.profile.name.firstName["my First name"].name’ notation', function() {
var result = pinch(testObject, 'user.profile.name.firstName["my First name"].name', "Test");
expect(result.user.profile.name.firstName["my First name"].name).to.be.eql('Test');
});

test('using the ‘["user"].profile.name.firstName["my First name"].name’ notation', function() {
var result = pinch(testObject, '["user"].profile.name.firstName["my First name"].name', "Test");
expect(result.user.profile.name.firstName["my First name"].name).to.be.eql('Test');
});

test('using the ‘["user"]["profile"].name.firstName["my First name"].name’ notation', function() {
var result = pinch(testObject, '["user"]["profile"].name.firstName["my First name"].name', "Test");
expect(result.user.profile.name.firstName["my First name"].name).to.be.eql('Test');
});

test('using the ‘["user"]["profile"]["name"].firstName["my First name"].name’ notation', function() {
var result = pinch(testObject, '["user"]["profile"]["name"].firstName["my First name"].name', "Test");
expect(result.user.profile.name.firstName["my First name"].name).to.be.eql('Test');
});

test('using the ‘["user"]["profile"]["name"]["firstName"]["my First name"].name’ notation', function() {
var result = pinch(testObject, '["user"]["profile"]["name"]["firstName"]["my First name"].name', "Test");
expect(result.user.profile.name.firstName["my First name"].name).to.be.eql('Test');
});

test('using the ‘["user"]["profile"]["name"]["firstName"]["my First name"]["name"]’ notation', function() {
var result = pinch(testObject, '["user"]["profile"]["name"]["firstName"]["my First name"]["name"]', "Test");
expect(result.user.profile.name.firstName["my First name"].name).to.be.eql('Test');
});

});

0 comments on commit 5d3709d

Please sign in to comment.