null+****@clear*****
null+****@clear*****
2012年 8月 6日 (月) 15:02:27 JST
SHIMODA Hiroshi 2012-08-06 15:02:27 +0900 (Mon, 06 Aug 2012) New Revision: e9bb5b03d173a4083a033ea6c9bf243b0d353836 https://github.com/groonga/gcs/commit/e9bb5b03d173a4083a033ea6c9bf243b0d353836 Log: Add tests for deleting of existing index fields Modified files: test/cs-commands.test.js Modified: test/cs-commands.test.js (+34 -40) =================================================================== --- test/cs-commands.test.js 2012-08-06 14:56:45 +0900 (5d3058d) +++ test/cs-commands.test.js 2012-08-06 15:02:27 +0900 (5be9b71) @@ -159,90 +159,84 @@ suite('cs-configure-fields', function() { setup(commonSetup); teardown(commonTeardown); - test('create text field', function(done) { + function testCreateField(done, name, type) { utils .run('cs-create-domain', '--domain-name', 'companies', '--database-path', temporaryDatabase.path) .run('cs-configure-fields', '--domain-name', 'companies', - '--name', 'name', - '--type', 'text', + '--name', name, + '--type', type, '--database-path', temporaryDatabase.path) .next(function(result) { assert.equal(result.code, 0); assert.equal(result.output.stdout, 'Updated 1 Index Field:\n' + - 'name RequiresIndexDocuments text ()\n'); + name + ' RequiresIndexDocuments ' + type + ' ()\n'); context.reopen(); var domain = new Domain('companies', context); - var field = domain.getIndexField('name'); + var field = domain.getIndexField(name); assert.deepEqual({ type: field.type, exists: field.exists() }, - { type: 'text', exists: true }); + { type: type, exists: true }); done(); }) .error(function(e) { done(e); }); - }); + } + test('create text field', function(done) { + testCreateField(done, 'name', 'text'); + }); test('create uint field', function(done) { + testCreateField(done, 'age', 'uint'); + }); + test('create literal field', function(done) { + testCreateField(done, 'product', 'literal'); + }); + + function testDeleteField(done, name, type) { utils .run('cs-create-domain', '--domain-name', 'companies', '--database-path', temporaryDatabase.path) .run('cs-configure-fields', '--domain-name', 'companies', - '--name', 'age', - '--type', 'uint', - '--database-path', temporaryDatabase.path) - .next(function(result) { - assert.equal(result.code, 0); - assert.equal(result.output.stdout, - 'Updated 1 Index Field:\n' + - 'age RequiresIndexDocuments uint ()\n'); - - context.reopen(); - var domain = new Domain('companies', context); - var field = domain.getIndexField('age'); - assert.deepEqual({ type: field.type, exists: field.exists() }, - { type: 'uint', exists: true }); - - done(); - }) - .error(function(e) { - done(e); - }); - }); - - test('create literal field', function(done) { - utils - .run('cs-create-domain', - '--domain-name', 'companies', + '--name', name, + '--type', type, '--database-path', temporaryDatabase.path) .run('cs-configure-fields', '--domain-name', 'companies', - '--name', 'product', - '--type', 'literal', + '--name', name, + '--delete', '--database-path', temporaryDatabase.path) .next(function(result) { assert.equal(result.code, 0); assert.equal(result.output.stdout, - 'Updated 1 Index Field:\n' + - 'product RequiresIndexDocuments literal ()\n'); + 'Updated 1 Index Field:\n'; context.reopen(); var domain = new Domain('companies', context); - var field = domain.getIndexField('product'); - assert.deepEqual({ type: field.type, exists: field.exists() }, - { type: 'literal', exists: true }); + var field = domain.getIndexField(name); + assert.isFalse(field.exists()); done(); }) .error(function(e) { done(e); }); + } + + test('delete text field', function(done) { + testDeleteField(done, 'name', 'text'); + }); + test('delete uint field', function(done) { + testDeleteField(done, 'age', 'uint'); + }); + test('delete literal field', function(done) { + testDeleteField(done, 'product', 'literal'); }); }); -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...Download