YUKI Hiroshi
null+****@clear*****
Mon Dec 10 17:39:48 JST 2012
YUKI Hiroshi 2012-12-10 17:39:48 +0900 (Mon, 10 Dec 2012) New Revision: 62925189cd83d734439df5b6c3dee6ede0e04968 https://github.com/groonga/gcs/commit/62925189cd83d734439df5b6c3dee6ede0e04968 Log: Add more tests for XML SDF batch converter Added files: test/fixture/companies/add-multiple-values.sdf.xml test/fixture/companies/non-ascii.add.sdf.xml Modified files: test/batch-xml.test.js Modified: test/batch-xml.test.js (+11 -10) =================================================================== --- test/batch-xml.test.js 2012-12-10 17:20:23 +0900 (e2e9d96) +++ test/batch-xml.test.js 2012-12-10 17:39:48 +0900 (902c35e) @@ -27,16 +27,17 @@ function sortBatches(batches) { }); } -suite('batch/xml', function() { - test('add, multiple items, single values', function() { - var jsonBatch = readJSONBatch(path.join(fixtures, 'add.sdf.json')); - var xmlBatch = readXMLBatch(path.join(fixtures, 'add.sdf.xml')); - assert.deepEqual(xmlBatch, jsonBatch); +function testConvert(name, basename) { + test(name, function() { + var jsonBatch = readJSONBatch(path.join(fixtures, basename + '.sdf.json')); + var xmlBatch = readXMLBatch(path.join(fixtures, basename + '.sdf.xml')); + assert.equal(JSON.stringify(xmlBatch), JSON.stringify(jsonBatch)); }); +} - test('delete, single item', function() { - var jsonBatch = readJSONBatch(path.join(fixtures, 'delete.sdf.json')); - var xmlBatch = readXMLBatch(path.join(fixtures, 'delete.sdf.xml')); - assert.deepEqual(xmlBatch, jsonBatch); - }); +suite('batch/xml', function() { + testConvert('add, multiple items, single values', 'add'); + testConvert('add, multiple items, multiple values', 'add-multiple-values'); + testConvert('add, multiple items, single values, non-ascii', 'non-ascii.add'); + testConvert('add, single item', 'delete'); }); Added: test/fixture/companies/add-multiple-values.sdf.xml (+26 -0) 100644 =================================================================== --- /dev/null +++ test/fixture/companies/add-multiple-values.sdf.xml 2012-12-10 17:39:48 +0900 (0faee0d) @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<batch> + <add id="id1" version="1" lang="en"> + <field name="name">Brazil</field> + <field name="address">Shibuya, Tokyo, Japan</field> + <field name="email_address">info �� razil.jp</field> + <field name="age">1</field> + <field name="product">moritapo</field> + <field name="product">groonga</field> + </add> + <add id="id6" version="1" lang="en"> + <field name="name">Omni Consumer Products</field> + <field name="address">Detroit and Delta City, Michigan, United States</field> + <field name="email_address"></field> + <field name="age">6</field> + <field name="product">robocop</field> + </add> + <add id="id10" version="1" lang="en"> + <field name="name">U.S. Robots and Mechanical Men</field> + <field name="address">New York, United States</field> + <field name="email_address"></field> + <field name="age">10</field> + <field name="product">ndr114</field> + <field name="product">spd13</field> + </add> +</batch> Added: test/fixture/companies/non-ascii.add.sdf.xml (+73 -0) 100644 =================================================================== --- /dev/null +++ test/fixture/companies/non-ascii.add.sdf.xml 2012-12-10 17:39:48 +0900 (18256c2) @@ -0,0 +1,73 @@ +<?xml version="1.0"?> +<batch> + <add id="id1" version="1" lang="en"> + <field name="name">未来検索ブラジル</field> + <field name="address">渋谷, 東京, 日本</field> + <field name="email_address">info �� razil.jp</field> + <field name="age">1</field> + <field name="product">groonga</field> + </add> + <add id="id2" version="1" lang="en"> + <field name="name">えにしテック</field> + <field name="address">札幌, 北海道, 日本</field> + <field name="email_address">info �� enishi-tech.com</field> + <field name="age">2</field> + <field name="product">groonga</field> + </add> + <add id="id3" version="1" lang="en"> + <field name="name">クリアコード</field> + <field name="address">本郷, 東京, 日本</field> + <field name="email_address">info �� clear-code.com</field> + <field name="age">3</field> + <field name="product">groonga</field> + </add> + <add id="id4" version="1" lang="en"> + <field name="name">アナハイム・エレクトロニクス</field> + <field name="address">グラナダ, 月面</field> + <field name="email_address"></field> + <field name="age">4</field> + <field name="product">gundam</field> + </add> + <add id="id5" version="1" lang="en"> + <field name="name">新星インダストリー</field> + <field name="address">地球</field> + <field name="email_address"></field> + <field name="age">5</field> + <field name="product">valkyrie</field> + </add> + <add id="id6" version="1" lang="en"> + <field name="name">オム二社</field> + <field name="address">デトロイト・デルタシティ, ミシガン, アメリカ合衆国</field> + <field name="email_address"></field> + <field name="age">6</field> + <field name="product">robocop</field> + </add> + <add id="id7" version="1" lang="en"> + <field name="name">カプセルコーポレーション</field> + <field name="address">西の都</field> + <field name="email_address"></field> + <field name="age">7</field> + <field name="product">time machine</field> + </add> + <add id="id8" version="1" lang="en"> + <field name="name">スターク・インダストリー</field> + <field name="address">アメリカ合衆国</field> + <field name="email_address"></field> + <field name="age">8</field> + <field name="product">iron man</field> + </add> + <add id="id9" version="1" lang="en"> + <field name="name">アンブレラ社</field> + <field name="address">東京, 日本</field> + <field name="email_address"></field> + <field name="age">9</field> + <field name="product">tyrant</field> + </add> + <add id="id10" version="1" lang="en"> + <field name="name">U.S. Robots and Mechanical Men</field> + <field name="address">ニューヨーク, アメリカ合衆国</field> + <field name="email_address"></field> + <field name="age">10</field> + <field name="product">ndr114</field> + </add> +</batch> -------------- next part -------------- HTML����������������������������... 下载