xbrlware-ce 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ReleaseNotes.txt +23 -5
- data/doc/classes/Edgar/RSSFeedDownloader.html +2 -2
- data/doc/classes/NSAware.html +135 -0
- data/doc/classes/Xbrlware.html +1 -6
- data/doc/classes/Xbrlware/Context.html +85 -78
- data/doc/classes/Xbrlware/Context/Period.html +49 -49
- data/doc/classes/Xbrlware/Entity.html +49 -49
- data/doc/classes/Xbrlware/Identifier.html +14 -14
- data/doc/classes/Xbrlware/Instance.html +173 -98
- data/doc/classes/Xbrlware/Item.html +62 -25
- data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase.html +41 -3
- data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase/Calculation.html +1 -1
- data/doc/classes/Xbrlware/Linkbase/CalculationLinkbase/Calculation/CalculationArc.html +1 -1
- data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase.html +43 -3
- data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase/Definition.html +2 -2
- data/doc/classes/Xbrlware/Linkbase/DefinitionLinkbase/Definition/DefinitionArc.html +1 -1
- data/doc/classes/Xbrlware/Linkbase/LabelLinkbase/Label.html +1 -1
- data/doc/classes/Xbrlware/Linkbase/Linkbase/Link/Arc.html +22 -7
- data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase.html +41 -3
- data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase/Presentation.html +2 -8
- data/doc/classes/Xbrlware/Linkbase/PresentationLinkbase/Presentation/PresentationArc.html +1 -1
- data/doc/classes/Xbrlware/Taxonomy.html +84 -51
- data/doc/classes/Xbrlware/TaxonomyDefintion.html +14 -14
- data/doc/classes/Xbrlware/Unit.html +14 -7
- data/doc/classes/Xbrlware/Unit/Divide.html +7 -7
- data/doc/created.rid +1 -1
- data/doc/files/lib/edgar/edgar_data_downloader_rb.html +1 -1
- data/doc/files/lib/edgar_rb.html +1 -1
- data/doc/files/lib/xbrlware/context_rb.html +1 -1
- data/doc/files/lib/xbrlware/instance_rb.html +1 -1
- data/doc/files/lib/xbrlware/item_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/calculation_linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/definition_linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/label_linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/linkbase/presentation_linkbase_rb.html +1 -1
- data/doc/files/lib/xbrlware/{report_rb.html → ns_aware_rb.html} +10 -4
- data/doc/files/lib/xbrlware/taxonomy_rb.html +1 -1
- data/doc/files/lib/xbrlware/unit_rb.html +1 -1
- data/doc/files/lib/xbrlware/util_rb.html +1 -1
- data/doc/files/lib/xbrlware/version_rb.html +1 -1
- data/doc/files/lib/xbrlware/xml_parser_rb.html +1 -1
- data/doc/files/lib/xbrlware_rb.html +3 -1
- data/doc/fr_class_index.html +1 -1
- data/doc/fr_file_index.html +1 -1
- data/doc/fr_method_index.html +68 -68
- data/doc/index.html +2 -2
- data/example/callb/calculation_elements.rb +33 -0
- data/example/callb/calculation_elements_to_table.rb +62 -0
- data/example/case_study/cash_analyzer.rb +27 -0
- data/lib/edgar/edgar_data_downloader.rb +6 -6
- data/lib/xbrlware.rb +2 -0
- data/lib/xbrlware/context.rb +2 -0
- data/lib/xbrlware/instance.rb +65 -26
- data/lib/xbrlware/item.rb +34 -26
- data/lib/xbrlware/linkbase/calculation_linkbase.rb +51 -7
- data/lib/xbrlware/linkbase/definition_linkbase.rb +42 -2
- data/lib/xbrlware/linkbase/label_linkbase.rb +1 -0
- data/lib/xbrlware/linkbase/linkbase.rb +19 -9
- data/lib/xbrlware/linkbase/presentation_linkbase.rb +52 -9
- data/lib/xbrlware/ns_aware.rb +5 -0
- data/lib/xbrlware/taxonomy.rb +7 -0
- data/lib/xbrlware/unit.rb +1 -0
- data/lib/xbrlware/version.rb +1 -1
- data/lib/xbrlware/xml_parser.rb +20 -0
- data/test/lib/edgar/edgar_data_downloader_test.rb +1 -1
- data/test/lib/edgar/resources/usgaap.rss.xml +3914 -2599
- data/test/lib/xbrlware/46_item_test.rb +30 -0
- data/test/lib/xbrlware/47_context_test.rb +16 -8
- data/test/lib/xbrlware/48_unit_test.rb +10 -0
- data/test/lib/xbrlware/instance_test.rb +156 -2
- data/test/lib/xbrlware/linkbase/calculation_linkbase_test.rb +5 -5
- data/test/lib/xbrlware/linkbase/definition_linkbase_test.rb +2 -2
- data/test/lib/xbrlware/linkbase/presentation_linkbase_test.rb +0 -1
- data/test/lib/xbrlware/taxonomy_test.rb +28 -0
- data/test/lib/xbrlware/xml_parser_test.rb +81 -0
- data/test/scratchpad/tooltip.html +10 -0
- data/xbrlware-ce.gemspec +2 -0
- metadata +36 -22
- data/Rakefile.rb +0 -124
- data/doc/classes/Xbrlware/Report.html +0 -352
- data/lib/xbrlware/report.rb +0 -277
- data/test/lib/xbrlware/resources/report_test_xbrl_files/cal.xml +0 -219
- data/test/lib/xbrlware/resources/report_test_xbrl_files/def.xml +0 -186
- data/test/lib/xbrlware/resources/report_test_xbrl_files/instance.xml +0 -5822
- data/test/lib/xbrlware/resources/report_test_xbrl_files/lab.xml +0 -782
- data/test/lib/xbrlware/resources/report_test_xbrl_files/pre.xml +0 -485
- data/test/lib/xbrlware/resources/report_test_xbrl_files/report/report_index.html +0 -62
- data/test/lib/xbrlware/resources/report_test_xbrl_files/taxonomy.xsd +0 -178
- data/xbrlware.iml +0 -30
@@ -105,6 +105,10 @@ class TestItem < Test::Unit::TestCase
|
|
105
105
|
end
|
106
106
|
|
107
107
|
def test_465_decimals
|
108
|
+
|
109
|
+
value=Xbrlware::Item::ItemValue.new("2.65", nil, "INF")
|
110
|
+
assert_equal("2.65", value.decimals)
|
111
|
+
|
108
112
|
value=Xbrlware::Item::ItemValue.new("2002000", nil, "-4")
|
109
113
|
assert_equal("2000000.0", value.decimals)
|
110
114
|
|
@@ -250,4 +254,30 @@ class TestItem < Test::Unit::TestCase
|
|
250
254
|
assert_nil(items[0].value)
|
251
255
|
end
|
252
256
|
|
257
|
+
def test_item_namespace_and_namespace_prefix
|
258
|
+
xml_file=File.dirname(__FILE__)+"/resources/46/46_item_value.xml"
|
259
|
+
XbrlTest::SchemaValidator.validate(xml_file, @@xsd_file)
|
260
|
+
xbrl = Xbrlware::Instance.new(xml_file)
|
261
|
+
items = xbrl.item("SalesRevenueGoodsNet", "D2008Q4", "AUD")
|
262
|
+
assert_equal("http://xbrl.us/us-gaap/2009-01-31", items[0].ns)
|
263
|
+
assert_equal("us-gaap", items[0].nsp)
|
264
|
+
end
|
265
|
+
|
266
|
+
def test_is_value_numeric
|
267
|
+
item = Xbrlware::Item.new(nil, nil, nil, "12345")
|
268
|
+
assert item.is_value_numeric?
|
269
|
+
|
270
|
+
item = Xbrlware::Item.new(nil, nil, nil, "12345.6789")
|
271
|
+
assert item.is_value_numeric?
|
272
|
+
|
273
|
+
item = Xbrlware::Item.new(nil, nil, nil, "-12345")
|
274
|
+
assert item.is_value_numeric?
|
275
|
+
|
276
|
+
item = Xbrlware::Item.new(nil, nil, nil, "1SS")
|
277
|
+
assert_equal(false, item.is_value_numeric?)
|
278
|
+
|
279
|
+
item = Xbrlware::Item.new(nil, nil, nil, "xyz")
|
280
|
+
assert_equal(false, item.is_value_numeric?)
|
281
|
+
end
|
282
|
+
|
253
283
|
end
|
@@ -54,10 +54,9 @@ class TestContext < Test::Unit::TestCase
|
|
54
54
|
xbrl = Xbrlware::Instance.new(xml_file)
|
55
55
|
ctx=xbrl.context("I2007_CommonStockMember")
|
56
56
|
entity =ctx.entity
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
assert_equal(expected, entity.segment)
|
57
|
+
assert_equal(2, entity.segment["explicitMember"].size)
|
58
|
+
assert_equal("http://www.xbrl.org/2003/instance", entity.segment["nspace"])
|
59
|
+
assert_equal("xbrli", entity.segment["nspace_prefix"])
|
61
60
|
end
|
62
61
|
|
63
62
|
def test_4732_entity_segment_not_present
|
@@ -75,10 +74,9 @@ class TestContext < Test::Unit::TestCase
|
|
75
74
|
XbrlTest::SchemaValidator.validate(xml_file, @@xsd_file)
|
76
75
|
xbrl = Xbrlware::Instance.new(xml_file)
|
77
76
|
scenario =xbrl.context("I2007_CommonStockMember").scenario
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
assert_equal(expected, scenario)
|
77
|
+
assert_equal(2, scenario["explicitMember"].size)
|
78
|
+
assert_equal("http://www.xbrl.org/2003/instance", scenario["nspace"])
|
79
|
+
assert_equal("xbrli", scenario["nspace_prefix"])
|
82
80
|
end
|
83
81
|
|
84
82
|
def test_474_scenario_not_present
|
@@ -135,4 +133,14 @@ class TestContext < Test::Unit::TestCase
|
|
135
133
|
ctx=xbrl.context("not-exist")
|
136
134
|
assert_nil(ctx)
|
137
135
|
end
|
136
|
+
|
137
|
+
def test_context_namespace_and_prefix
|
138
|
+
xml_file=File.dirname(__FILE__)+"/resources/47/472_period_forever.xml"
|
139
|
+
XbrlTest::SchemaValidator.validate(xml_file, @@xsd_file)
|
140
|
+
xbrl = Xbrlware::Instance.new(xml_file)
|
141
|
+
c=xbrl.context("I2007_CommonStockMember")
|
142
|
+
assert_equal("http://www.xbrl.org/2003/instance", c.ns)
|
143
|
+
assert_equal("xbrli", c.nsp)
|
144
|
+
end
|
145
|
+
|
138
146
|
end
|
@@ -42,4 +42,14 @@ class TestUnit < Test::Unit::TestCase
|
|
42
42
|
assert_equal("xbrli:shares", unit.measure.denominator[0])
|
43
43
|
assert_equal("xbrli:pure", unit.measure.denominator[1])
|
44
44
|
end
|
45
|
+
|
46
|
+
def test_unit_namespace_and_prefix
|
47
|
+
xml_file=File.dirname(__FILE__)+"/resources/48/482_unit_measure.xml"
|
48
|
+
XbrlTest::SchemaValidator.validate(xml_file, @@xsd_file)
|
49
|
+
xbrl = Xbrlware::Instance.new(xml_file)
|
50
|
+
unit = xbrl.unit("USD_multipy_by_shares")
|
51
|
+
assert_equal("http://www.xbrl.org/2003/instance", unit.ns)
|
52
|
+
assert_equal("xbrli", unit.nsp)
|
53
|
+
end
|
54
|
+
|
45
55
|
end
|
@@ -52,6 +52,15 @@ class TestXbrlInstance < Test::Unit::TestCase
|
|
52
52
|
end
|
53
53
|
|
54
54
|
|
55
|
+
def test_ctx_groupby_period
|
56
|
+
group = @xbrl.ctx_groupby_period
|
57
|
+
assert_equal(6, group.keys.size)
|
58
|
+
period = Xbrlware::Context::Period.new(
|
59
|
+
{"start_date"=> Date.parse("2008-01-02"), "end_date" => Date.parse("2008-12-30")}
|
60
|
+
)
|
61
|
+
assert_equal(2, group[period].size)
|
62
|
+
end
|
63
|
+
|
55
64
|
def test_context_for_item
|
56
65
|
ctxs=@xbrl.context_for_item("ProfitLoss")
|
57
66
|
assert_equal(6, ctxs.size)
|
@@ -247,7 +256,7 @@ class TestXbrlInstance < Test::Unit::TestCase
|
|
247
256
|
assert_equal(1, items.size)
|
248
257
|
end
|
249
258
|
|
250
|
-
def
|
259
|
+
def test_item_all_map
|
251
260
|
items=@xbrl.item_all_map
|
252
261
|
assert_equal(6, items["PROFITLOSS"].size)
|
253
262
|
assert_equal(2, items["RECEIVABLESNETCURRENT"].size)
|
@@ -256,6 +265,12 @@ class TestXbrlInstance < Test::Unit::TestCase
|
|
256
265
|
assert_nil(items["NOT-EXIST"])
|
257
266
|
end
|
258
267
|
|
268
|
+
|
269
|
+
def test_item_all
|
270
|
+
items=@xbrl.item_all
|
271
|
+
assert_equal(10, items.size)
|
272
|
+
end
|
273
|
+
|
259
274
|
def test_entity_details
|
260
275
|
entity_details=@xbrl.entity_details
|
261
276
|
assert_equal("UNKNOWN", entity_details["name"])
|
@@ -263,7 +278,146 @@ class TestXbrlInstance < Test::Unit::TestCase
|
|
263
278
|
@xbrl.entity_details={"name" => "EntityName"}
|
264
279
|
assert_equal("EntityName", entity_details["name"])
|
265
280
|
assert_equal("UNKNOWN", entity_details["ci_keys"])
|
266
|
-
|
281
|
+
|
282
|
+
end
|
283
|
+
|
284
|
+
def test_create_instance_from_improper_xbrl_string
|
285
|
+
xbrl_content=%{
|
286
|
+
<?xml version="1.0" encoding="US-ASCII"?>
|
287
|
+
<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.us/dei/2009-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
|
288
|
+
xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:us-gaap="http://xbrl.us/us-gaap/2009-01-31"
|
289
|
+
xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink"
|
290
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:local="http://xbrl_us_gaap_local">
|
291
|
+
<link:schemaRef xlink:href="us_gaap_schema_local.xsd" xlink:type="simple"/>
|
292
|
+
<xbrli:context id="I2007Q">
|
293
|
+
<xbrli:entity>
|
294
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">
|
295
|
+
0000056873
|
296
|
+
</xbrli:identifier>
|
297
|
+
<xbrli:segment>
|
298
|
+
<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
|
299
|
+
</xbrli:segment>
|
300
|
+
</xbrli:entity>
|
301
|
+
<xbrli:period>
|
302
|
+
<xbrli:startDate>2007-01-02</xbrli:startDate>
|
303
|
+
<xbrli:endDate>2007-03-30</xbrli:endDate>
|
304
|
+
</xbrli:period>
|
305
|
+
</xbrli:context>
|
306
|
+
|
307
|
+
<xbrli:context id="I2008Q">
|
308
|
+
<xbrli:entity>
|
309
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">
|
310
|
+
0000056873
|
311
|
+
</xbrli:identifier>
|
312
|
+
<xbrli:segment>
|
313
|
+
<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
|
314
|
+
</xbrli:segment>
|
315
|
+
</xbrli:entity>
|
316
|
+
<xbrli:period>
|
317
|
+
<xbrli:startDate>2008-01-02</xbrli:startDate>
|
318
|
+
<xbrli:endDate>2008-03-30</xbrli:endDate>
|
319
|
+
</xbrli:period>
|
320
|
+
</xbrli:context>
|
321
|
+
|
322
|
+
<xbrli:context id="I2007Y-ADJ">
|
323
|
+
<xbrli:entity>
|
324
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">
|
325
|
+
0000056873
|
326
|
+
</xbrli:identifier>
|
327
|
+
<xbrli:segment>
|
328
|
+
<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
|
329
|
+
<xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsBySegmentAxis">us-gaap:AdjustableRateResidentialMortgageMember</xbrldi:explicitMember>
|
330
|
+
</xbrli:segment>
|
331
|
+
</xbrli:entity>
|
332
|
+
<xbrli:period>
|
333
|
+
<xbrli:startDate>2007-01-02</xbrli:startDate>
|
334
|
+
<xbrli:endDate>2007-12-30</xbrli:endDate>
|
335
|
+
</xbrli:period>
|
336
|
+
</xbrli:context>
|
337
|
+
|
338
|
+
<xbrli:context id="I2008Y-ADJ">
|
339
|
+
<xbrli:entity>
|
340
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">
|
341
|
+
0000056873
|
342
|
+
</xbrli:identifier>
|
343
|
+
<xbrli:segment>
|
344
|
+
<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
|
345
|
+
<xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsBySegmentAxis">us-gaap:AdjustableRateResidentialMortgageMember</xbrldi:explicitMember>
|
346
|
+
</xbrli:segment>
|
347
|
+
</xbrli:entity>
|
348
|
+
<xbrli:period>
|
349
|
+
<xbrli:startDate>2008-01-02</xbrli:startDate>
|
350
|
+
<xbrli:endDate>2008-12-30</xbrli:endDate>
|
351
|
+
</xbrli:period>
|
352
|
+
</xbrli:context>
|
353
|
+
|
354
|
+
<xbrli:context id="I2007Y">
|
355
|
+
<xbrli:entity>
|
356
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">
|
357
|
+
0000056873
|
358
|
+
</xbrli:identifier>
|
359
|
+
</xbrli:entity>
|
360
|
+
<xbrli:period>
|
361
|
+
<xbrli:startDate>2007-01-02</xbrli:startDate>
|
362
|
+
<xbrli:endDate>2007-12-30</xbrli:endDate>
|
363
|
+
</xbrli:period>
|
364
|
+
</xbrli:context>
|
365
|
+
|
366
|
+
<xbrli:context id="I2008Y">
|
367
|
+
<xbrli:entity>
|
368
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">
|
369
|
+
0000056873
|
370
|
+
</xbrli:identifier>
|
371
|
+
</xbrli:entity>
|
372
|
+
<xbrli:period>
|
373
|
+
<xbrli:startDate>2008-01-02</xbrli:startDate>
|
374
|
+
<xbrli:endDate>2008-12-30</xbrli:endDate>
|
375
|
+
</xbrli:period>
|
376
|
+
</xbrli:context>
|
377
|
+
|
378
|
+
<xbrli:context id="I2008">
|
379
|
+
<xbrli:entity>
|
380
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">0000056873</xbrli:identifier>
|
381
|
+
</xbrli:entity>
|
382
|
+
<xbrli:period>
|
383
|
+
<xbrli:instant>2008-12-30</xbrli:instant>
|
384
|
+
</xbrli:period>
|
385
|
+
</xbrli:context>
|
386
|
+
<xbrli:context id="I2007">
|
387
|
+
<xbrli:entity>
|
388
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">0000056873</xbrli:identifier>
|
389
|
+
</xbrli:entity>
|
390
|
+
<xbrli:period>
|
391
|
+
<xbrli:instant>2007-12-30</xbrli:instant>
|
392
|
+
</xbrli:period>
|
393
|
+
</xbrli:context>
|
394
|
+
|
395
|
+
<xbrli:unit id="USD">
|
396
|
+
<xbrli:measure>iso4217:USD</xbrli:measure>
|
397
|
+
</xbrli:unit>
|
398
|
+
|
399
|
+
<xbrli:unit id="AUD">
|
400
|
+
<xbrli:measure>iso4217:AUD</xbrli:measure>
|
401
|
+
</xbrli:unit>
|
402
|
+
|
403
|
+
<us-gaap:ProfitLoss contextRef="I2007Q" decimals="-6" unitRef="USD">947000000</us-gaap:ProfitLoss>
|
404
|
+
<us-gaap:ProfitLoss contextRef="I2008Q" unitRef="USD" decimals="-6">702000000</us-gaap:ProfitLoss>
|
405
|
+
<us-gaap:ProfitLoss contextRef="I2007Y-ADJ" unitRef="USD" decimals="-6">802000000</us-gaap:ProfitLoss>
|
406
|
+
<us-gaap:ProfitLoss contextRef="I2008Y-ADJ" unitRef="USD" decimals="-6">902000000</us-gaap:ProfitLoss>
|
407
|
+
<us-gaap:ProfitLoss contextRef="I2007Y" unitRef="USD" decimals="-6">805000000</us-gaap:ProfitLoss>
|
408
|
+
<us-gaap:ProfitLoss contextRef="I2008Y" unitRef="USD" decimals="-6">905
|
409
|
+
000000</us-gaap:ProfitLoss>
|
410
|
+
<us-gaap:ReceivablesNetCurrent contextRef="I2007" decimals="-6" unitRef="USD">944000000</us-gaap:ReceivablesNetCurrent>
|
411
|
+
<us-gaap:ReceivablesNetCurrent contextRef="I2008" decimals="-6" unitRef="USD">945000000</us-gaap:ReceivablesNetCurrent>
|
412
|
+
<local:IncomeBeforeIncomeTaxes contextRef="I2007Q" unitRef="USD" decimals="-6">902000000</local:IncomeBeforeIncomeTaxes>
|
413
|
+
<local:Income-Before-IncomeTaxes contextRef="I2008Q" unitRef="USD" decimals="-6">902000000</local:Income-Before-IncomeTaxes>
|
414
|
+
</xbrli:xbrl>
|
415
|
+
}
|
416
|
+
@xbrl = Xbrlware::Instance.new(xbrl_content)
|
417
|
+
|
418
|
+
items=@xbrl.item("IncomeBeforeIncomeTaxes")
|
419
|
+
assert_not_nil(items)
|
420
|
+
assert_equal(1, items.size)
|
267
421
|
end
|
268
422
|
|
269
423
|
end
|
@@ -21,11 +21,11 @@ class TestCalculationLinkbase < Test::Unit::TestCase
|
|
21
21
|
get_all_items(collector, arc)
|
22
22
|
end
|
23
23
|
|
24
|
-
expected=%w{
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
expected=%w{loc_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_19
|
25
|
+
loc_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent_19
|
26
|
+
loc_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax_19
|
27
|
+
loc_ProfitLoss_19
|
28
|
+
loc_OtherComprehensiveIncomeDerivativesQualifyingAsHedgesNetOfTaxPeriodIncreaseDecrease_19}
|
29
29
|
assert_equal(expected.sort, collector.to_a.sort)
|
30
30
|
end
|
31
31
|
|
@@ -16,13 +16,13 @@ class TestDefinitionLinkbase < Test::Unit::TestCase
|
|
16
16
|
dimensions=definition.primary_items.to_a[0].hypercubes.to_a[0].dimensions.to_a
|
17
17
|
assert_equal(1, dimensions[0].domains.size)
|
18
18
|
domain_prods=dimensions[0].domains.to_a
|
19
|
-
assert_equal("
|
19
|
+
assert_equal("company_AllRegions_0", domain_prods[0].item_id)
|
20
20
|
assert_equal(4, domain_prods[0].members.size)
|
21
21
|
|
22
22
|
|
23
23
|
assert_equal(1, dimensions[1].domains.size)
|
24
24
|
domain_regions=dimensions[1].domains.to_a
|
25
|
-
assert_equal("
|
25
|
+
assert_equal("company_AllProducts_0", domain_regions[0].item_id)
|
26
26
|
assert_equal(4, domain_regions[0].members.size)
|
27
27
|
end
|
28
28
|
|
@@ -121,4 +121,32 @@ class TestXbrlTaxonomyForNewDefinition < Test::Unit::TestCase
|
|
121
121
|
|
122
122
|
end
|
123
123
|
|
124
|
+
def test_linkbase_files_are_ignored
|
125
|
+
taxonomy_file=File.dirname(__FILE__)+"/resources/taxonomy_test_files/1/taxonomy.xsd"
|
126
|
+
taxonomy=Xbrlware::Taxonomy.new(taxonomy_file, nil)
|
127
|
+
taxonomy.ignore_lablb=true
|
128
|
+
taxonomy.ignore_prelb=true
|
129
|
+
taxonomy.ignore_deflb=true
|
130
|
+
taxonomy.ignore_callb=true
|
131
|
+
|
132
|
+
taxonomy.init_all_lb
|
133
|
+
assert_nil(taxonomy.lablb)
|
134
|
+
assert_nil(taxonomy.prelb)
|
135
|
+
assert_nil(taxonomy.deflb)
|
136
|
+
assert_nil(taxonomy.callb)
|
137
|
+
|
138
|
+
taxonomy_file=File.dirname(__FILE__)+"/resources/taxonomy_test_files/2/taxonomy.xsd"
|
139
|
+
taxonomy=Xbrlware::Taxonomy.new(taxonomy_file, nil)
|
140
|
+
taxonomy.ignore_lablb=true
|
141
|
+
taxonomy.ignore_prelb=true
|
142
|
+
taxonomy.ignore_deflb=true
|
143
|
+
taxonomy.ignore_callb=true
|
144
|
+
taxonomy.init_all_lb
|
145
|
+
|
146
|
+
assert_nil(taxonomy.lablb)
|
147
|
+
assert_nil(taxonomy.prelb)
|
148
|
+
assert_nil(taxonomy.deflb)
|
149
|
+
assert_nil(taxonomy.callb)
|
150
|
+
end
|
151
|
+
|
124
152
|
end
|
@@ -1,5 +1,86 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../../test_helper.rb'
|
2
2
|
class TestXmlParser < Test::Unit::TestCase
|
3
|
+
|
4
|
+
def test_namespace_and_nsprefix_are_partof_attributes
|
5
|
+
xml_content= %{
|
6
|
+
<?xml version="1.0" encoding="US-ASCII"?>
|
7
|
+
<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.us/dei/2009-01-31"
|
8
|
+
xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:kr="http://www.kroger.com/20090815"
|
9
|
+
xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:us-gaap="http://xbrl.us/us-gaap/2009-01-31"
|
10
|
+
xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink"
|
11
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
12
|
+
<link:schemaRef xlink:href="kr-20090815.xsd" xlink:type="simple"/>
|
13
|
+
<xbrli:context id="I2007_CommonStockMember">
|
14
|
+
<xbrli:entity>
|
15
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">0000056873</xbrli:identifier>
|
16
|
+
<xbrli:segment>
|
17
|
+
<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember
|
18
|
+
</xbrldi:explicitMember>
|
19
|
+
</xbrli:segment>
|
20
|
+
</xbrli:entity>
|
21
|
+
<xbrli:period>
|
22
|
+
<xbrli:instant>2008-02-02</xbrli:instant>
|
23
|
+
</xbrli:period>
|
24
|
+
</xbrli:context>
|
25
|
+
<xbrli:context id="I2007_AdditionalPaidInCapitalMember">
|
26
|
+
<xbrli:entity>
|
27
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">0000056873</xbrli:identifier>
|
28
|
+
<xbrli:segment>
|
29
|
+
<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">
|
30
|
+
us-gaap:AdditionalPaidInCapitalMember
|
31
|
+
</xbrldi:explicitMember>
|
32
|
+
</xbrli:segment>
|
33
|
+
</xbrli:entity>
|
34
|
+
<xbrli:period>
|
35
|
+
<xbrli:instant>2008-02-02</xbrli:instant>
|
36
|
+
</xbrli:period>
|
37
|
+
</xbrli:context>
|
38
|
+
<xbrli:context id="D2009Q2YTD">
|
39
|
+
<xbrli:entity>
|
40
|
+
<xbrli:identifier scheme="http://www.sec.gov/CIK">0000056873</xbrli:identifier>
|
41
|
+
</xbrli:entity>
|
42
|
+
<xbrli:period>
|
43
|
+
<xbrli:startDate>2009-02-01</xbrli:startDate>
|
44
|
+
<xbrli:endDate>2009-08-15</xbrli:endDate>
|
45
|
+
</xbrli:period>
|
46
|
+
</xbrli:context>
|
47
|
+
<xbrli:unit id="USD">
|
48
|
+
<xbrli:measure>iso4217:USD</xbrli:measure>
|
49
|
+
</xbrli:unit>
|
50
|
+
<xbrli:unit id="shares">
|
51
|
+
<xbrli:measure>xbrli:shares</xbrli:measure>
|
52
|
+
</xbrli:unit>
|
53
|
+
<xbrli:unit id="USDPerShare">
|
54
|
+
<xbrli:divide>
|
55
|
+
<xbrli:unitNumerator>
|
56
|
+
<xbrli:measure>iso4217:USD</xbrli:measure>
|
57
|
+
</xbrli:unitNumerator>
|
58
|
+
<xbrli:unitDenominator>
|
59
|
+
<xbrli:measure>xbrli:shares</xbrli:measure>
|
60
|
+
</xbrli:unitDenominator>
|
61
|
+
</xbrli:divide>
|
62
|
+
</xbrli:unit>
|
63
|
+
<dei:EntityRegistrantName contextRef="D2009Q2YTD">THE KROGER CO.</dei:EntityRegistrantName>
|
64
|
+
<dei:EntityCentralIndexKey contextRef="D2009Q2YTD">0000056873</dei:EntityCentralIndexKey>
|
65
|
+
<us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="I2007_CommonStockMember"
|
66
|
+
decimals="-6" unitRef="USD">
|
67
|
+
947000000
|
68
|
+
</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
|
69
|
+
<us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
|
70
|
+
contextRef="I2007_AdditionalPaidInCapitalMember" decimals="-6" unitRef="USD">3031000000
|
71
|
+
</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
|
72
|
+
|
73
|
+
<us-gaap:SharesIssued contextRef="I2007_CommonStockMember" decimals="-6" unitRef="shares">947000000
|
74
|
+
</us-gaap:SharesIssued>
|
75
|
+
</xbrli:xbrl>
|
76
|
+
}
|
77
|
+
|
78
|
+
_hash=Xbrlware::XmlParser.xml_in(xml_content, {'ForceContent' => true})
|
79
|
+
assert("http://xbrl.us/us-gaap/2009-01-31", _hash["SharesIssued"][0]["nspace"]);
|
80
|
+
assert("us-gaap", _hash["SharesIssued"][0]["nspace_prefix"]);
|
81
|
+
|
82
|
+
end
|
83
|
+
|
3
84
|
def test_xmslparser_is_faster_than_xmlsimple
|
4
85
|
xml_content= %{
|
5
86
|
<?xml version="1.0" encoding="us-ascii"?>
|