[google-caja] r5709 committed - Have test links link more directly to github test262 pages....

0 views
Skip to first unread message

googl...@googlecode.com

unread,
Feb 15, 2015, 7:40:19 PM2/15/15
to caja....@gmail.com
Revision: 5709
Author: erights
Date: Mon Feb 16 00:40:00 2015 UTC
Log: Have test links link more directly to github test262 pages.
https://codereview.appspot.com/199650043

The old heuristic for dereferencing test: identifiers has not worked
for a long time. Change these from test ids to more direct links into
the github test262 repository. For brevity, still recognize when a
link starts with "test/", in which case prepend the github link
prefix.

Two tests use the full url because the tests have been removed from
github, and so we link to an historical version.

R=kpreid.sw...@gmail.com

https://code.google.com/p/google-caja/source/detail?r=5709

Modified:
/trunk/src/com/google/caja/ses/repairES5.js
/trunk/src/com/google/caja/ses/useHTMLLogger.js

=======================================
--- /trunk/src/com/google/caja/ses/repairES5.js Sun Feb 15 02:08:08 2015 UTC
+++ /trunk/src/com/google/caja/ses/repairES5.js Mon Feb 16 00:40:00 2015 UTC
@@ -4029,7 +4029,7 @@
canRepair: false,
urls: [],
sections: ['15.2.3.4'],
- tests: ['15.2.3.4-0-1']
+ tests: ['test/built-ins/Object/getOwnPropertyNames/15.2.3.4-0-1.js']
},
{
id: 'PROTO_SETTER_UNGETTABLE',
@@ -4057,7 +4057,7 @@
canRepair: false, // Not repairable without rewriting
urls: ['https://bugs.webkit.org/show_bug.cgi?id=64250'],
sections: ['10.2.1.2', '10.2.1.2.6'],
- tests: ['10.4.3-1-8gs']
+ tests: ['test/language/function-code/10.4.3-1-8gs.js']
},
{
id: 'GLOBAL_LEAKS_FROM_ANON_FUNCTION_CALLS',
@@ -4068,7 +4068,7 @@
canRepair: false,
urls: [],
sections: ['10.4.3'],
- tests: ['S10.4.3_A1']
+ tests: ['test/language/function-code/S10.4.3_A1.js']
},
{
id: 'GLOBAL_LEAKS_FROM_STRICT_THIS',
@@ -4079,7 +4079,8 @@
canRepair: false, // Not repairable without rewriting
urls: [],
sections: ['10.4.3'],
- tests: ['10.4.3-1-8gs', '10.4.3-1-8-s']
+ tests: ['test/language/function-code/10.4.3-1-8gs.js',
+ 'test/language/function-code/10.4.3-1-8-s.js']
},
{
id: 'GLOBAL_LEAKS_FROM_BUILTINS',
@@ -4095,7 +4096,7 @@
'https://connect.microsoft.com/IE/feedback/details/' +
'685430/global-object-leaks-from-built-in-methods'],
sections: ['15.2.4.4'],
- tests: ['S15.2.4.4_A14']
+ tests: ['test/built-ins/Object/prototype/valueOf/S15.2.4.4_A14.js']
},
{
id: 'GLOBAL_LEAKS_FROM_GLOBALLY_CALLED_BUILTINS',
@@ -4107,7 +4108,7 @@
// so it's not worth creating a repair for this bug.
urls: [],
sections: ['10.2.1.2', '10.2.1.2.6', '15.2.4.4'],
- tests: ['S15.2.4.4_A15']
+ tests: ['test/built-ins/Object/prototype/valueOf/S15.2.4.4_A15.js']
},
{
id: 'MISSING_FREEZE_ETC',
@@ -4118,7 +4119,7 @@
canRepair: false, // Long-dead bug, not worth keeping old repair
around
urls: ['https://bugs.webkit.org/show_bug.cgi?id=55736'],
sections: ['15.2.3.9'],
- tests: ['15.2.3.9-0-1']
+ tests: ['test/built-ins/Object/freeze/15.2.3.9-0-1.js']
},
{
id: 'FUNCTION_PROTOTYPE_DESCRIPTOR_LIES',
@@ -4130,7 +4131,7 @@
urls: ['https://code.google.com/p/v8/issues/detail?id=1530',
'https://code.google.com/p/v8/issues/detail?id=1570'],
sections: ['15.2.3.3', '15.2.3.6', '15.3.5.2'],
- tests: ['S15.3.3.1_A4']
+ tests: ['test/built-ins/Function/prototype/S15.3.3.1_A4.js']
},
{
id: 'MISSING_CALLEE_DESCRIPTOR',
@@ -4141,7 +4142,7 @@
canRepair: false, // Long-dead bug, not worth keeping old repair
around
urls: ['https://bugs.webkit.org/show_bug.cgi?id=55537'],
sections: ['15.2.3.4'],
- tests: ['S15.2.3.4_A1_T1']
+ tests:
['test/built-ins/Object/getOwnPropertyNames/S15.2.3.4_A1_T1.js']
},
{
id: 'STRICT_DELETE_RETURNS_FALSE',
@@ -4154,7 +4155,7 @@
'685432/strict-delete-sometimes-returns-false-' +
'rather-than-throwing'],
sections: ['11.4.1'],
- tests: ['S11.4.1_A5']
+ tests: ['test/language/expressions/delete/S11.4.1_A5.js']
},
{
id: 'REGEXP_CANT_BE_NEUTERED',
@@ -4171,7 +4172,7 @@
'685439/non-deletable-regexp-statics-are-a-global-' +
'communication-channel'],
sections: ['11.4.1'],
- tests: ['S11.4.1_A5']
+ tests: ['test/language/expressions/delete/S11.4.1_A5.js']
},
{
id: 'REGEXP_TEST_EXEC_UNSAFE',
@@ -4185,7 +4186,7 @@
'https://bugzilla.mozilla.org/show_bug.cgi?id=635017',
'https://code.google.com/p/google-caja/issues/detail?id=528'],
sections: ['15.10.6.2'],
- tests: ['S15.10.6.2_A12']
+ tests: ['test/built-ins/RegExp/prototype/exec/S15.10.6.2_A12.js']
},
{
id: 'MISSING_BIND',
@@ -4197,7 +4198,7 @@
urls: ['https://bugs.webkit.org/show_bug.cgi?id=26382',
'https://bugs.webkit.org/show_bug.cgi?id=42371'],
sections: ['15.3.4.5'],
- tests: ['S15.3.4.5_A3']
+ tests: ['test/built-ins/Function/prototype/bind/S15.3.4.5_A3.js']
},
{
id: 'BIND_CALLS_APPLY',
@@ -4209,7 +4210,7 @@
urls: ['https://code.google.com/p/v8/issues/detail?id=892',
'https://code.google.com/p/v8/issues/detail?id=828'],
sections: ['15.3.4.5.1'],
- tests: ['S15.3.4.5_A4']
+ tests: ['test/built-ins/Function/prototype/bind/S15.3.4.5_A4.js']
},
{
id: 'BIND_CANT_CURRY_NEW',
@@ -4220,7 +4221,7 @@
canRepair: false, // JS-based repair essentially impossible
urls: ['https://bugs.webkit.org/show_bug.cgi?id=26382#c29'],
sections: ['15.3.4.5.2'],
- tests: ['S15.3.4.5_A5']
+ tests: ['test/built-ins/Function/prototype/bind/S15.3.4.5_A5.js']
},
{
id: 'MUTABLE_DATE_PROTO',
@@ -4315,7 +4316,8 @@
canRepair: false, // Long-dead bug, not worth keeping old repair
around
urls: ['https://code.google.com/p/v8/issues/detail?id=1447'],
sections: ['15.4.4.18'],
- tests: ['S15.4.4.18_A1', 'S15.4.4.18_A2']
+ tests: ['test/built-ins/Array/prototype/forEach/S15.4.4.18_A1.js',
+ 'test/built-ins/Array/prototype/forEach/S15.4.4.18_A2.js']
},
{
id: 'FOREACH_COERCES_THISOBJ',
@@ -4352,7 +4354,7 @@
'https://code.google.com/p/v8/issues/detail?id=1651',
'https://code.google.com/p/google-caja/issues/detail?id=1401'],
sections: ['15.2.3.6'],
- tests: ['S15.2.3.6_A1']
+ tests: ['test/built-ins/Object/defineProperty/S15.2.3.6_A1.js']
},
{
id: 'ACCESSORS_INHERIT_AS_OWN',
@@ -4363,7 +4365,7 @@
canRepair: false, // Long-dead bug, not worth keeping old repair
around
urls: ['https://bugzilla.mozilla.org/show_bug.cgi?id=637994'],
sections: ['8.6.1', '15.2.3.6'],
- tests: ['S15.2.3.6_A2']
+ tests: ['test/built-ins/Object/defineProperty/S15.2.3.6_A2.js']
},
{
id: 'SORT_LEAKS_GLOBAL',
@@ -4374,7 +4376,7 @@
canRepair: false, // Long-dead bug, not worth keeping old repair
around
urls: ['https://code.google.com/p/v8/issues/detail?id=1360'],
sections: ['15.4.4.11'],
- tests: ['S15.4.4.11_A8']
+ tests: ['test/built-ins/Array/prototype/sort/S15.4.4.11_A8.js']
},
{
id: 'REPLACE_LEAKS_GLOBAL',
@@ -4388,7 +4390,7 @@
'685928/bad-this-binding-for-callback-in-string-' +
'prototype-replace'],
sections: ['15.5.4.11'],
- tests: ['S15.5.4.11_A12']
+ tests: ['test/built-ins/String/prototype/replace/S15.5.4.11_A12.js']
},
{
id: 'CANT_GOPD_CALLER',
@@ -4400,7 +4402,7 @@
urls: ['https://connect.microsoft.com/IE/feedback/details/' +
'685436/getownpropertydescriptor-on-strict-caller-throws'],
sections: ['15.2.3.3', '13.2', '13.2.3'],
- tests: ['S13.2_A6_T1']
+ tests: ['test/language/statements/function/S13.2_A6_T1.js']
},
{
id: 'CANT_HASOWNPROPERTY_CALLER',
@@ -4411,7 +4413,7 @@
canRepair: false, // Long-dead bug, not worth keeping old repair
around
urls: ['https://bugs.webkit.org/show_bug.cgi?id=63398#c3'],
sections: ['15.2.4.5', '13.2', '13.2.3'],
- tests: ['S13.2_A7_T1']
+ tests: ['test/language/statements/function/S13.2_A7_T1.js']
},
{
id: 'CANT_IN_CALLER',
@@ -4422,7 +4424,7 @@
canRepair: false,
urls: ['https://bugs.webkit.org/show_bug.cgi?id=63398'],
sections: ['11.8.7', '13.2', '13.2.3'],
- tests: ['S13.2_A8_T1']
+ tests: ['test/language/statements/function/S13.2_A8_T1.js']
},
{
id: 'CANT_IN_ARGUMENTS',
@@ -4433,7 +4435,7 @@
canRepair: false,
urls: ['https://bugs.webkit.org/show_bug.cgi?id=63398'],
sections: ['11.8.7', '13.2', '13.2.3'],
- tests: ['S13.2_A8_T2']
+ tests: ['test/language/statements/function/S13.2_A8_T2.js']
},
{
id: 'STRICT_CALLER_NOT_POISONED',
@@ -4444,7 +4446,7 @@
canRepair: false,
urls: [],
sections: ['13.2'],
- tests: ['S13.2.3_A1']
+ tests: ['test/language/statements/function/S13.2.3_A1.js']
},
{
id: 'STRICT_ARGUMENTS_NOT_POISONED',
@@ -4455,7 +4457,7 @@
canRepair: false,
urls: [],
sections: ['13.2'],
- tests: ['S13.2.3_A1']
+ tests: ['test/language/statements/function/S13.2.3_A1.js']
},
{
id: 'BUILTIN_LEAKS_CALLER',
@@ -4470,7 +4472,7 @@
'http://wiki.ecmascript.org/doku.php?id=' +
'conventions:make_non-standard_properties_configurable'],
sections: [],
- tests: ['Sbp_A10_T1']
+ tests:
['https://github.com/tc39/test262/blob/b752d2fdde2d3a49619735ed3713f6c287667c6d/test/suite/bestPractice/Sbp_A10_T1.js']
},
{
id: 'BUILTIN_LEAKS_ARGUMENTS',
@@ -4485,7 +4487,7 @@
'http://wiki.ecmascript.org/doku.php?id=' +
'conventions:make_non-standard_properties_configurable'],
sections: [],
- tests: ['Sbp_A10_T2']
+ tests:
['https://github.com/tc39/test262/blob/b752d2fdde2d3a49619735ed3713f6c287667c6d/test/suite/bestPractice/Sbp_A10_T2.js']
},
{
id: 'BOUND_FUNCTION_LEAKS_CALLER',
@@ -4497,7 +4499,8 @@
urls: ['https://code.google.com/p/v8/issues/detail?id=893',
'https://bugs.webkit.org/show_bug.cgi?id=63398'],
sections: ['15.3.4.5'],
- tests: ['S13.2.3_A1', 'S15.3.4.5_A1']
+ tests: ['test/language/statements/function/S13.2.3_A1.js',
+ 'test/built-ins/Function/prototype/bind/S15.3.4.5_A1.js']
},
{
id: 'BOUND_FUNCTION_LEAKS_ARGUMENTS',
@@ -4509,7 +4512,8 @@
urls: ['https://code.google.com/p/v8/issues/detail?id=893',
'https://bugs.webkit.org/show_bug.cgi?id=63398'],
sections: ['15.3.4.5'],
- tests: ['S13.2.3_A1', 'S15.3.4.5_A2']
+ tests: ['test/language/statements/function/S13.2.3_A1.js',
+ 'test/built-ins/Function/prototype/bind/S15.3.4.5_A2.js']
},
{
id: 'DELETED_BUILTINS_IN_OWN_NAMES',
@@ -4543,7 +4547,7 @@
urls: ['https://code.google.com/p/v8/issues/detail?id=621',
'https://code.google.com/p/v8/issues/detail?id=1310'],
sections: ['15.12.2'],
- tests: ['S15.12.2_A1']
+ tests: ['test/built-ins/JSON/parse/S15.12.2_A1.js']
},
{
id: 'PROTO_NOT_FROZEN',
@@ -4556,7 +4560,7 @@
urls: ['https://bugs.webkit.org/show_bug.cgi?id=65832',
'https://bugs.webkit.org/show_bug.cgi?id=78438'],
sections: ['8.6.2'],
- tests: ['S8.6.2_A8']
+ tests: ['test/language/types/object/S8.6.2_A8.js']
},
{
id: 'PROTO_REDEFINABLE',
@@ -4568,7 +4572,7 @@
// so it's not worth creating a repair for this bug.
urls: ['https://bugs.webkit.org/show_bug.cgi?id=65832'],
sections: ['8.6.2'],
- tests: ['S8.6.2_A8']
+ tests: ['test/language/types/object/S8.6.2_A8.js']
},
{
id: 'DEFINING_READ_ONLY_PROTO_FAILS_SILENTLY',
@@ -4603,7 +4607,7 @@
// so it's not worth creating a repair for this bug.
urls: ['https://code.google.com/p/v8/issues/detail?id=1624'],
sections: ['10.4.2.1'],
- tests: ['S10.4.2.1_A1']
+ tests: ['test/language/eval-code/S10.4.2.1_A1.js']
},
{
id: 'STRICT_EVAL_LEAKS_GLOBAL_FUNCS',
@@ -4615,7 +4619,7 @@
// so it's not worth creating a repair for this bug.
urls: ['https://code.google.com/p/v8/issues/detail?id=1624'],
sections: ['10.4.2.1'],
- tests: ['S10.4.2.1_A1']
+ tests: ['test/language/eval-code/S10.4.2.1_A1.js']
},
{
id: 'EVAL_BREAKS_MASKING',
@@ -4638,7 +4642,7 @@
canRepair: true,
urls: ['https://code.google.com/p/v8/issues/detail?id=1645'],
sections: ['15.1.2.2'],
- tests: ['S15.1.2.2_A5.1_T1']
+ tests: ['test/built-ins/parseInt/S15.1.2.2_A5.1_T1.js']
},
{
id: 'STRICT_E4X_LITERALS_ALLOWED',
@@ -4667,7 +4671,7 @@
'http://wiki.ecmascript.org/doku.php?id=strawman:' +
'fixing_override_mistake'],
sections: ['8.12.4'],
- tests: ['15.2.3.6-4-405']
+ tests: ['test/built-ins/Object/defineProperty/15.2.3.6-4-405.js']
},
{
id: 'INCREMENT_IGNORES_FROZEN',
@@ -4839,7 +4843,7 @@
'https://bugzilla.mozilla.org/show_bug.cgi?id=732669'],
// Opera DSK-358415
sections: ['10.4.3'],
- tests: ['10.4.3-1-59-s']
+ tests: ['test/language/function-code/10.4.3-1-59-s.js']
},
{
id: 'NON_STRICT_GETTER_DOESNT_BOX',
@@ -4852,7 +4856,7 @@
'https://code.google.com/p/v8/issues/detail?id=1977',
'https://bugzilla.mozilla.org/show_bug.cgi?id=732669'],
sections: ['10.4.3'],
- tests: ['10.4.3-1-59-s']
+ tests: ['test/language/function-code/10.4.3-1-59-s.js']
},
{
id: 'NONCONFIGURABLE_OWN_PROTO',
=======================================
--- /trunk/src/com/google/caja/ses/useHTMLLogger.js Fri Feb 28 01:52:02
2014 UTC
+++ /trunk/src/com/google/caja/ses/useHTMLLogger.js Mon Feb 16 00:40:00
2015 UTC
@@ -191,42 +191,20 @@
error: makeLogFunc(consoleElement, 'error')
};

- var TestIDPattern = /^(Sbp|S)?([\d\.]*)/;
+ var StartsWithTestSlash = /^test\//;
+ var HasURIScheme = /^[-+.\w]+:/;

/**
*
*/
function linkToTest(test) {
- var match = TestIDPattern.exec(test);
- if (match) {
- var parts = match[2].split('.');
- var result = 'http://hg.ecmascript.org/tests/test262/file/' +
- 'c84161250e66/' + // TODO(erights): How do I get the tip
automatically?
- 'test/suite/';
- if (match[1] === void 0) {
- result += 'chapter';
- } else if (match[1] === 'S') {
- result += 'ch';
- } else if (match[1] === 'Sbp') {
- result += 'bestPractice';
- }
- var len = parts.length;
- if (len === 0) {
- result += '/';
- } else {
- result += (parts[0].length === 1 ? '0' : '') + parts[0] + '/';
- for (var i = 1; i < len; i++) {
- result += parts.slice(0, i+1).join('.') + '/';
- }
- }
- result += test + '.js';
- return result;
+ if (StartsWithTestSlash.test(test)) {
+ return 'https://github.com/tc39/test262/blob/master/' + test;
+ } else if (HasURIScheme.test(test)) {
+ return test;
+ } else {
+ return 'data:,Failed%20to%20resolve%20' + test;
}
-
- var site = test.charAt(0) === 'S' ?
- '+site%3Acode.google.com' : '+site%3Aes5conform.svn.codeplex.com';
- return 'http://www.google.com/search?btnI=&q=' +
- encodeURIComponent(test) + site;
}

/**
@@ -281,7 +259,7 @@
var linkElement = appendNew(linksBlock, 'p');
if (i === 0) { appendText(linkElement, 'See '); }
var link = appendNew(linkElement, 'a');
- link.href = 'http://es5.github.com/#x' +
encodeURIComponent(section);
+ link.href = 'https://es5.github.io/#x' +
encodeURIComponent(section);
link.target = '_blank';
appendText(link, 'Section ' + section);
});
@@ -292,7 +270,7 @@
var link = appendNew(linkElement, 'a');
link.href = linkToTest(test);
link.target = '_blank';
- appendText(link, 'Test ' + test);
+ appendText(link, test);
});
});

Reply all
Reply to author
Forward
0 new messages