From 66608193bff7228579a6ebb866d85c96f4b9812a Mon Sep 17 00:00:00 2001 From: Rebecca Hauck Date: Tue, 26 Feb 2013 00:04:19 -0800 Subject: [PATCH 1/2] Made some minor changes to Robin's awesome scripts to get them working with a couple of CSS specs: - Read the ToC whether it's an ol or ul - Bypass the test_per_spec.json and read testcounts from annotate.js widgets on the spec (only if it's there) Also, added json data for the CSS Transforms and Backgrounds & Borders specs + a separate css-index.html report for these two specs. These probably don't belong in the html-testsuite repo, but putting keeping it all together for now while it's lifting off. Hopefully, the Testing Task Force can figure out the best way to centralize this. --- tools/coverage/analyse-specs.js | 12 +- tools/coverage/css-index.html | 55 ++ tools/coverage/get-analysis-for.phjs | 23 +- tools/coverage/spec-data-css3backgrounds.json | 673 ++++++++++++++++++ tools/coverage/spec-data-css3transforms.json | 508 +++++++++++++ 5 files changed, 1264 insertions(+), 7 deletions(-) create mode 100644 tools/coverage/css-index.html create mode 100644 tools/coverage/spec-data-css3backgrounds.json create mode 100644 tools/coverage/spec-data-css3transforms.json diff --git a/tools/coverage/analyse-specs.js b/tools/coverage/analyse-specs.js index 192eaf54cb1175..1a58a1b2de83d3 100644 --- a/tools/coverage/analyse-specs.js +++ b/tools/coverage/analyse-specs.js @@ -4,9 +4,11 @@ var fs = require("fs") , exec = require("child_process").execFile , phanthomScript = pth.join(__dirname, "get-analysis-for.phjs") , specs = { - html: "http://www.w3.org/html/wg/drafts/html/master/single-page.html" - , canvas2d: "http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas/Overview.html" - // , microdata: "http://www.w3.org/html/wg/drafts/microdata/master/Overview.html" + html: "http://www.w3.org/html/wg/drafts/html/master/single-page.html" + , canvas2d: "http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas/Overview.html" + // , microdata: "http://www.w3.org/html/wg/drafts/microdata/master/Overview.html" + // , css3transforms: "http://dev.w3.org/csswg/css3-transforms/Overview.html" + // , css3backgrounds: "http://dev.w3.org/csswg/css3-background/Overview.html" } , perSec = JSON.parse(fs.readFileSync(pth.join(__dirname, "tests-per-section.json"), "utf8")) , data = {} @@ -40,7 +42,9 @@ for (var spec in specs) { if (err) return console.log("ERROR: " + err); for (var i = 0, n = data[spec].length; i < n; i++) { var sec = data[spec][i]; - sec.tests = perSec[spec][sec.id] || 0; + // Only read in the test data if it isn't already there + if( !sec.hasOwnProperty("tests") ) + sec.tests = perSec[spec][sec.id] || 0; } fs.writeFileSync(pth.join(__dirname, "spec-data-" + spec + ".json"), JSON.stringify(data[spec], null, 4), "utf8"); }); diff --git a/tools/coverage/css-index.html b/tools/coverage/css-index.html new file mode 100644 index 00000000000000..fb33527a1a50a3 --- /dev/null +++ b/tools/coverage/css-index.html @@ -0,0 +1,55 @@ + + + + + Test Suite Coverage Analysis + + + +

Test Suite Coverage Analysis

+

+ The following tables summarise test coverage for the specifications contained in this + test suite. +

+
+

Show levels:

+

+ The report analyses sections at a maximal depth of 3. If you want to see an overview + at section levels 1 or 2 instead, you can choose those options below. +

+ +
+
+

Thresholds:

+

+ Picking a good ratio of tests to something (or something to test) is difficult. + You can set values for specific aspects below. I assume that at some point we + will come up with a more or less definitive set of values to roughly aim for. +

+ + +
+
+ + + + + + + diff --git a/tools/coverage/get-analysis-for.phjs b/tools/coverage/get-analysis-for.phjs index 6ab249d99cdb96..9343bbf674a8e0 100644 --- a/tools/coverage/get-analysis-for.phjs +++ b/tools/coverage/get-analysis-for.phjs @@ -42,8 +42,9 @@ page.open(url, function (status) { , original_id: href , level: level } - , $ol = $li.find("> ol").first() ; + var $ol = $li.find("> ol").first().length ? $li.find("> ol").first() : $li.find("> ul").first(); + list.push(def); if ($ol.length && level < 3) { walkToC($, $ol, list, level); @@ -99,9 +100,21 @@ page.open(url, function (status) { return div; } + function getTestAnnotations(tocList) { + for(var i = 0; i < tocList.length; i++) + { + // If the spec uses annotate.js, each section will have a widget with the id prepended with 'annotation_' + var $annotation = $("#annotation_"+ tocList[i].id); + if( $annotation.length ) + tocList[i].tests = parseInt($annotation.attr("testcount")); + else if( $("#annotation_root_").length ) + // If there's no annotation on this section but this spec has annotate.js, that means there are no tests + tocList[i].tests = 0; + } + } + // process ToC - var $toc = $("body > ol.toc").first() - ; + var $toc = $("body > ol.toc").first().length ? $("body > ol.toc").first() : $("body > ul.toc").first(); walkToC($, $toc, tocList, 0); processTocForRanges(tocList); @@ -156,6 +169,10 @@ page.open(url, function (status) { var norms = $df.text().match(/\b(should|must)\b/g); section.normativeStatements = norms ? norms.length : 0; } + + // Pull testcounts from spec if it has annotate.js + getTestAnnotations(tocList); + return tocList; }); console.log(JSON.stringify(toc)); diff --git a/tools/coverage/spec-data-css3backgrounds.json b/tools/coverage/spec-data-css3backgrounds.json new file mode 100644 index 00000000000000..09c9f853b7ab7f --- /dev/null +++ b/tools/coverage/spec-data-css3backgrounds.json @@ -0,0 +1,673 @@ +[ + { + "algorithmicSteps": 0, + "end_id": "values", + "id": "introduction", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "introduction", + "tests": 0, + "wordCount": 228 + }, + { + "algorithmicSteps": 0, + "end_id": "backgrounds", + "id": "values", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "values", + "tests": 6, + "wordCount": 276 + }, + { + "algorithmicSteps": 0, + "end_id": "value-types", + "id": "placement", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "placement", + "tests": 1, + "wordCount": 75 + }, + { + "algorithmicSteps": 0, + "end_id": "animations", + "id": "value-types", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "value-types", + "tests": 2, + "wordCount": 116 + }, + { + "algorithmicSteps": 0, + "end_id": "backgrounds", + "id": "animations", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "animations", + "tests": 0, + "wordCount": 68 + }, + { + "algorithmicSteps": 0, + "end_id": "borders", + "id": "backgrounds", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 8, + "original_id": "backgrounds", + "tests": 291, + "wordCount": 3024 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background-color", + "id": "layering", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "layering", + "tests": 1, + "wordCount": 153 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background-image", + "id": "the-background-color", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-background-color", + "tests": 0, + "wordCount": 64 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background-repeat", + "id": "the-background-image", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 2, + "original_id": "the-background-image", + "tests": 1, + "wordCount": 218 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background-attachment", + "id": "the-background-repeat", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-background-repeat", + "tests": 11, + "wordCount": 373 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background-position", + "id": "the-background-attachment", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "the-background-attachment", + "tests": 2, + "wordCount": 321 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background-clip", + "id": "the-background-position", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "the-background-position", + "tests": 0, + "wordCount": 608 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background-origin", + "id": "the-background-clip", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-background-clip", + "tests": 12, + "wordCount": 128 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background-size", + "id": "the-background-origin", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-background-origin", + "tests": 10, + "wordCount": 176 + }, + { + "algorithmicSteps": 0, + "end_id": "the-background", + "id": "the-background-size", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 2, + "original_id": "the-background-size", + "tests": 256, + "wordCount": 471 + }, + { + "algorithmicSteps": 0, + "end_id": "special-backgrounds", + "id": "the-background", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-background", + "tests": 6, + "wordCount": 197 + }, + { + "algorithmicSteps": 0, + "end_id": "borders", + "id": "special-backgrounds", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "special-backgrounds", + "tests": 0, + "wordCount": 243 + }, + { + "algorithmicSteps": 0, + "end_id": "corners", + "id": "borders", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 2, + "original_id": "borders", + "tests": 0, + "wordCount": 965 + }, + { + "algorithmicSteps": 0, + "end_id": "the-border-style", + "id": "the-border-color", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-border-color", + "tests": 0, + "wordCount": 123 + }, + { + "algorithmicSteps": 0, + "end_id": "the-border-width", + "id": "the-border-style", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "the-border-style", + "tests": 0, + "wordCount": 353 + }, + { + "algorithmicSteps": 0, + "end_id": "the-border-shorthands", + "id": "the-border-width", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-border-width", + "tests": 0, + "wordCount": 221 + }, + { + "algorithmicSteps": 0, + "end_id": "corners", + "id": "the-border-shorthands", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "the-border-shorthands", + "tests": 0, + "wordCount": 228 + }, + { + "algorithmicSteps": 0, + "end_id": "border-images", + "id": "corners", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 9, + "original_id": "corners", + "tests": 0, + "wordCount": 1132 + }, + { + "algorithmicSteps": 0, + "end_id": "corner-shaping", + "id": "the-border-radius", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-border-radius", + "tests": 66, + "wordCount": 313 + }, + { + "algorithmicSteps": 0, + "end_id": "corner-clipping", + "id": "corner-shaping", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "corner-shaping", + "tests": 0, + "wordCount": 194 + }, + { + "algorithmicSteps": 0, + "end_id": "corner-transitions", + "id": "corner-clipping", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "corner-clipping", + "tests": 0, + "wordCount": 76 + }, + { + "algorithmicSteps": 0, + "end_id": "corner-overlap", + "id": "corner-transitions", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 2, + "original_id": "corner-transitions", + "tests": 0, + "wordCount": 232 + }, + { + "algorithmicSteps": 0, + "end_id": "border-radius-tables", + "id": "corner-overlap", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 2, + "original_id": "corner-overlap", + "tests": 0, + "wordCount": 146 + }, + { + "algorithmicSteps": 0, + "end_id": "border-images", + "id": "border-radius-tables", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 4, + "original_id": "border-radius-tables", + "tests": 0, + "wordCount": 173 + }, + { + "algorithmicSteps": 16, + "end_id": "misc", + "id": "border-images", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "border-images", + "tests": 0, + "wordCount": 1897 + }, + { + "algorithmicSteps": 0, + "end_id": "the-border-image-slice", + "id": "the-border-image-source", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-border-image-source", + "tests": 0, + "wordCount": 111 + }, + { + "algorithmicSteps": 0, + "end_id": "the-border-image-width", + "id": "the-border-image-slice", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "the-border-image-slice", + "tests": 0, + "wordCount": 374 + }, + { + "algorithmicSteps": 0, + "end_id": "the-border-image-outset", + "id": "the-border-image-width", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-border-image-width", + "tests": 0, + "wordCount": 322 + }, + { + "algorithmicSteps": 0, + "end_id": "the-border-image-repeat", + "id": "the-border-image-outset", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-border-image-outset", + "tests": 0, + "wordCount": 175 + }, + { + "algorithmicSteps": 0, + "end_id": "border-image-process", + "id": "the-border-image-repeat", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-border-image-repeat", + "tests": 0, + "wordCount": 203 + }, + { + "algorithmicSteps": 16, + "end_id": "the-border-image", + "id": "border-image-process", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "border-image-process", + "tests": 0, + "wordCount": 472 + }, + { + "algorithmicSteps": 0, + "end_id": "border-image-tables", + "id": "the-border-image", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-border-image", + "tests": 0, + "wordCount": 70 + }, + { + "algorithmicSteps": 0, + "end_id": "misc", + "id": "border-image-tables", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "border-image-tables", + "tests": 0, + "wordCount": 96 + }, + { + "algorithmicSteps": 0, + "end_id": "definitions", + "id": "misc", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 3, + "original_id": "misc", + "tests": 0, + "wordCount": 1283 + }, + { + "algorithmicSteps": 0, + "end_id": "the-box-shadow", + "id": "the-box-decoration-break", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "the-box-decoration-break", + "tests": 0, + "wordCount": 541 + }, + { + "algorithmicSteps": 0, + "end_id": "definitions", + "id": "the-box-shadow", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 3, + "original_id": "the-box-shadow", + "tests": 2, + "wordCount": 740 + }, + { + "algorithmicSteps": 3, + "end_id": "changes", + "id": "definitions", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 7, + "original_id": "definitions", + "tests": 0, + "wordCount": 994 + }, + { + "algorithmicSteps": 0, + "end_id": "conformance", + "id": "glossary", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "glossary", + "tests": 0, + "wordCount": 104 + }, + { + "algorithmicSteps": 0, + "end_id": "levels", + "id": "conformance", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "conformance", + "tests": 0, + "wordCount": 337 + }, + { + "algorithmicSteps": 0, + "end_id": "exit", + "id": "levels", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "levels", + "tests": 0, + "wordCount": 158 + }, + { + "algorithmicSteps": 0, + "end_id": "level-2", + "id": "level-1", + "idlComplexity": 0, + "level": 3, + "normativeStatements": 0, + "original_id": "level-1", + "tests": 0, + "wordCount": 54 + }, + { + "algorithmicSteps": 0, + "end_id": "level-3", + "id": "level-2", + "idlComplexity": 0, + "level": 3, + "normativeStatements": 0, + "original_id": "level-2", + "tests": 0, + "wordCount": 53 + }, + { + "algorithmicSteps": 0, + "end_id": "exit", + "id": "level-3", + "idlComplexity": 0, + "level": 3, + "normativeStatements": 0, + "original_id": "level-3", + "tests": 0, + "wordCount": 16 + }, + { + "algorithmicSteps": 3, + "end_id": "changes", + "id": "exit", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 7, + "original_id": "exit", + "tests": 0, + "wordCount": 396 + }, + { + "algorithmicSteps": 0, + "end_id": "acknowledgments", + "id": "changes", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 4, + "original_id": "changes", + "tests": 0, + "wordCount": 1052 + }, + { + "algorithmicSteps": 0, + "end_id": "changes-2012", + "id": "changes-2012", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "changes-2012", + "tests": 0, + "wordCount": 0 + }, + { + "algorithmicSteps": 0, + "end_id": "changes-2012LC", + "id": "changes-2012", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "changes-2012", + "tests": 0, + "wordCount": 171 + }, + { + "algorithmicSteps": 0, + "end_id": "changes-2011", + "id": "changes-2012lc", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "changes-2012LC", + "tests": 0, + "wordCount": 151 + }, + { + "algorithmicSteps": 0, + "end_id": "changes-2009", + "id": "changes-2011", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 4, + "original_id": "changes-2011", + "tests": 0, + "wordCount": 670 + }, + { + "algorithmicSteps": 0, + "end_id": "acknowledgments", + "id": "changes-2009", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "changes-2009", + "tests": 0, + "wordCount": 61 + }, + { + "algorithmicSteps": 0, + "end_id": "references", + "id": "acknowledgments", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "acknowledgments", + "tests": 0, + "wordCount": 149 + }, + { + "algorithmicSteps": 0, + "end_id": "property-index", + "id": "references", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "references", + "tests": 0, + "wordCount": 246 + }, + { + "algorithmicSteps": 0, + "end_id": "other-references", + "id": "normative-references", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "normative-references", + "tests": 0, + "wordCount": 79 + }, + { + "algorithmicSteps": 0, + "end_id": "property-index", + "id": "other-references", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "other-references", + "tests": 0, + "wordCount": 168 + }, + { + "algorithmicSteps": 0, + "end_id": "index", + "id": "property-index", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "property-index", + "tests": 0, + "wordCount": 609 + }, + { + "algorithmicSteps": 0, + "end_id": "", + "id": "index", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "index", + "tests": 0, + "wordCount": 284 + } +] \ No newline at end of file diff --git a/tools/coverage/spec-data-css3transforms.json b/tools/coverage/spec-data-css3transforms.json new file mode 100644 index 00000000000000..dc5ad67aa504de --- /dev/null +++ b/tools/coverage/spec-data-css3transforms.json @@ -0,0 +1,508 @@ +[ + { + "algorithmicSteps": 0, + "end_id": "module-interactions", + "id": "introduction", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "introduction", + "tests": 0, + "wordCount": 273 + }, + { + "algorithmicSteps": 0, + "end_id": "css-values", + "id": "module-interactions", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "module-interactions", + "tests": 0, + "wordCount": 109 + }, + { + "algorithmicSteps": 0, + "end_id": "definitions", + "id": "css-values", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "css-values", + "tests": 0, + "wordCount": 63 + }, + { + "algorithmicSteps": 0, + "end_id": "two-dimensional-subset", + "id": "definitions", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "definitions", + "tests": 5, + "wordCount": 415 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-rendering", + "id": "two-dimensional-subset", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "two-dimensional-subset", + "tests": 0, + "wordCount": 124 + }, + { + "algorithmicSteps": 13, + "end_id": "transform-property", + "id": "transform-rendering", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 8, + "original_id": "transform-rendering", + "tests": 37, + "wordCount": 1799 + }, + { + "algorithmicSteps": 9, + "end_id": "processing-of-perspective-transformed-boxes", + "id": "transform-3d-rendering", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 3, + "original_id": "transform-3d-rendering", + "tests": 6, + "wordCount": 1038 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-property", + "id": "processing-of-perspective-transformed-boxes", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 4, + "original_id": "processing-of-perspective-transformed-boxes", + "tests": 0, + "wordCount": 308 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-origin-property", + "id": "transform-property", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "transform-property", + "tests": 53, + "wordCount": 141 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-style-property", + "id": "transform-origin-property", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "transform-origin-property", + "tests": 106, + "wordCount": 395 + }, + { + "algorithmicSteps": 0, + "end_id": "perspective-property", + "id": "transform-style-property", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "transform-style-property", + "tests": 25, + "wordCount": 121 + }, + { + "algorithmicSteps": 0, + "end_id": "perspective-origin-property", + "id": "perspective-property", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "perspective-property", + "tests": 10, + "wordCount": 105 + }, + { + "algorithmicSteps": 0, + "end_id": "backface-visibility-property", + "id": "perspective-origin-property", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "perspective-origin-property", + "tests": 2, + "wordCount": 366 + }, + { + "algorithmicSteps": 2, + "end_id": "svg-transform", + "id": "backface-visibility-property", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "backface-visibility-property", + "tests": 7, + "wordCount": 153 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-animation", + "id": "svg-transform", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 9, + "original_id": "svg-transform", + "tests": 643, + "wordCount": 1285 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-syntax", + "id": "transform-attribute-specificity", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "transform-attribute-specificity", + "tests": 42, + "wordCount": 41 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-gradient-transform-pattern-transform", + "id": "svg-syntax", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "svg-syntax", + "tests": 289, + "wordCount": 433 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-functional-notation", + "id": "svg-transform-list", + "idlComplexity": 0, + "level": 3, + "normativeStatements": 0, + "original_id": "svg-transform-list", + "tests": 11, + "wordCount": 67 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-data-types", + "id": "svg-functional-notation", + "idlComplexity": 0, + "level": 3, + "normativeStatements": 0, + "original_id": "svg-functional-notation", + "tests": 15, + "wordCount": 81 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-gradient-transform-pattern-transform", + "id": "svg-data-types", + "idlComplexity": 0, + "level": 3, + "normativeStatements": 0, + "original_id": "svg-data-types", + "tests": 274, + "wordCount": 171 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-transform-functions", + "id": "svg-gradient-transform-pattern-transform", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "svg-gradient-transform-pattern-transform", + "tests": 122, + "wordCount": 62 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-three-dimensional-functions", + "id": "svg-transform-functions", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "svg-transform-functions", + "tests": 39, + "wordCount": 147 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-user-coordinate-space", + "id": "svg-three-dimensional-functions", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 3, + "original_id": "svg-three-dimensional-functions", + "tests": 0, + "wordCount": 164 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-attribute-dom", + "id": "svg-user-coordinate-space", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "svg-user-coordinate-space", + "tests": 0, + "wordCount": 120 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-animation", + "id": "transform-attribute-dom", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 5, + "original_id": "transform-attribute-dom", + "tests": 0, + "wordCount": 228 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-functions", + "id": "svg-animation", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "svg-animation", + "tests": 0, + "wordCount": 452 + }, + { + "algorithmicSteps": 0, + "end_id": "neutral-element", + "id": "svg-animate-element", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "svg-animate-element", + "tests": 0, + "wordCount": 316 + }, + { + "algorithmicSteps": 0, + "end_id": "svg-attribute-name", + "id": "neutral-element", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "neutral-element", + "tests": 0, + "wordCount": 90 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-functions", + "id": "svg-attribute-name", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "svg-attribute-name", + "tests": 0, + "wordCount": 45 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-function-lists", + "id": "transform-functions", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "transform-functions", + "tests": 617, + "wordCount": 676 + }, + { + "algorithmicSteps": 0, + "end_id": "three-d-transform-functions", + "id": "two-d-transform-functions", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "two-d-transform-functions", + "tests": 594, + "wordCount": 293 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-function-lists", + "id": "three-d-transform-functions", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 1, + "original_id": "three-d-transform-functions", + "tests": 23, + "wordCount": 297 + }, + { + "algorithmicSteps": 0, + "end_id": "animation", + "id": "transform-function-lists", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "transform-function-lists", + "tests": 13, + "wordCount": 128 + }, + { + "algorithmicSteps": 0, + "end_id": "transform-primitives", + "id": "animation", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "animation", + "tests": 0, + "wordCount": 243 + }, + { + "algorithmicSteps": 0, + "end_id": "interpolation-of-transform-functions", + "id": "transform-primitives", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "transform-primitives", + "tests": 0, + "wordCount": 139 + }, + { + "algorithmicSteps": 0, + "end_id": "matrix-interpolation", + "id": "interpolation-of-transform-functions", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "interpolation-of-transform-functions", + "tests": 0, + "wordCount": 217 + }, + { + "algorithmicSteps": 0, + "end_id": "mathematical-description", + "id": "matrix-interpolation", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 1, + "original_id": "matrix-interpolation", + "tests": 0, + "wordCount": 1393 + }, + { + "algorithmicSteps": 0, + "end_id": "matrix-values-interpolation", + "id": "matrix-decomposing", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "matrix-decomposing", + "tests": 0, + "wordCount": 702 + }, + { + "algorithmicSteps": 0, + "end_id": "matrix-recomposing", + "id": "matrix-values-interpolation", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "matrix-values-interpolation", + "tests": 0, + "wordCount": 249 + }, + { + "algorithmicSteps": 0, + "end_id": "mathematical-description", + "id": "matrix-recomposing", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "matrix-recomposing", + "tests": 0, + "wordCount": 350 + }, + { + "algorithmicSteps": 0, + "end_id": "references", + "id": "mathematical-description", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "mathematical-description", + "tests": 0, + "wordCount": 233 + }, + { + "algorithmicSteps": 0, + "end_id": "property-index", + "id": "references", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "references", + "tests": 0, + "wordCount": 90 + }, + { + "algorithmicSteps": 0, + "end_id": "other-references", + "id": "normative-references", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "normative-references", + "tests": 0, + "wordCount": 70 + }, + { + "algorithmicSteps": 0, + "end_id": "property-index", + "id": "other-references", + "idlComplexity": 0, + "level": 2, + "normativeStatements": 0, + "original_id": "other-references", + "tests": 0, + "wordCount": 19 + }, + { + "algorithmicSteps": 0, + "end_id": "index", + "id": "property-index", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "property-index", + "tests": 0, + "wordCount": 170 + }, + { + "algorithmicSteps": 0, + "end_id": "", + "id": "index", + "idlComplexity": 0, + "level": 1, + "normativeStatements": 0, + "original_id": "index", + "tests": 0, + "wordCount": 87 + } +] \ No newline at end of file From 4dfeee89e1b7e52dcf1b59bf2f4a7ca5032c8b55 Mon Sep 17 00:00:00 2001 From: Rebecca Hauck Date: Tue, 26 Feb 2013 08:39:48 -0800 Subject: [PATCH 2/2] Merge branches 'rhauck' and 'submission/rhauck' into submission/rhauck