mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 17:25:39 +01:00
Move test pages to /test/manual/
This commit is contained in:
parent
32f9897bf2
commit
430d8e6e17
147 changed files with 8 additions and 8 deletions
287
test/manual/samples.js
Normal file
287
test/manual/samples.js
Normal file
|
|
@ -0,0 +1,287 @@
|
|||
/// <reference path="../../node_modules/monaco-editor-core/monaco.d.ts" />
|
||||
|
||||
define(['./samples-all.generated'], function (ALL_SAMPLES) {
|
||||
var XHR_SAMPLES = {};
|
||||
ALL_SAMPLES.forEach(function (sample) {
|
||||
XHR_SAMPLES[sample.name] = sample.content;
|
||||
});
|
||||
|
||||
var samples = [];
|
||||
|
||||
var modesIds = monaco.languages.getLanguages().map(function (language) {
|
||||
return language.id;
|
||||
});
|
||||
modesIds.sort();
|
||||
|
||||
modesIds.forEach(function (modeId) {
|
||||
samples.push({
|
||||
name: 'sample - ' + modeId,
|
||||
mimeType: modeId,
|
||||
loadText: function () {
|
||||
return Promise.resolve(XHR_SAMPLES['sample.' + modeId + '.txt']);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function addXHRSample(name, modelUrl, mimeType, textModifier) {
|
||||
textModifier =
|
||||
textModifier ||
|
||||
function (text) {
|
||||
return text;
|
||||
};
|
||||
samples.push({
|
||||
name: name,
|
||||
mimeType: mimeType,
|
||||
loadText: function () {
|
||||
return Promise.resolve(XHR_SAMPLES[modelUrl]).then(textModifier);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function addStringPowerXHRSample(name, modelUrl, mimeType, power) {
|
||||
addXHRSample(name, modelUrl, mimeType, function (text) {
|
||||
var result = text;
|
||||
for (var i = 0; i < power; ++i) {
|
||||
result += '\n' + result;
|
||||
}
|
||||
return result;
|
||||
});
|
||||
}
|
||||
|
||||
function addSample(name, mimeType, modelText) {
|
||||
samples.push({
|
||||
name: name,
|
||||
mimeType: mimeType,
|
||||
loadText: function () {
|
||||
return Promise.resolve(modelText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
addXHRSample('Y___FailingJS', 'run-editor-failing-js.txt', 'text/javascript');
|
||||
addXHRSample('Y___DefaultJS', 'run-editor-sample-js.txt', 'text/javascript');
|
||||
addStringPowerXHRSample('Y___BigJS', 'run-editor-sample-js.txt', 'text/javascript', 11);
|
||||
addXHRSample('Y___BigJS_msn', 'run-editor-sample-msn-js.txt', 'text/javascript');
|
||||
addXHRSample('Y___BigCSS', 'run-editor-sample-big-css.txt', 'text/css');
|
||||
addStringPowerXHRSample('Y___BigHTML', 'run-editor-sample-html.txt', 'text/html', 10);
|
||||
addXHRSample('Y___Korean', 'run-editor-korean.txt', 'text/plain');
|
||||
addXHRSample('Y___BOM.cs', 'run-editor-sample-bom-cs.txt', 'text/x-csharp');
|
||||
addXHRSample('Z___CR.ps1', 'run-editor-sample-cr-ps1.txt', 'text/x-powershell');
|
||||
|
||||
addXHRSample('Z___jquery-min.js', 'run-editor-jquery-min-js.txt', 'text/javascript');
|
||||
|
||||
addXHRSample(
|
||||
'Z___scrolling-strategy.js',
|
||||
'run-editor-sample-js.txt',
|
||||
'text/plain',
|
||||
function (text) {
|
||||
console.log('here I am');
|
||||
var lines = text.split('\n');
|
||||
var newLines = lines.slice(0);
|
||||
|
||||
var problemIsAt = 80733 + 5;
|
||||
while (newLines.length < problemIsAt) {
|
||||
newLines = newLines.concat(lines);
|
||||
}
|
||||
|
||||
newLines = newLines.slice(0, problemIsAt);
|
||||
return newLines.join('\n');
|
||||
}
|
||||
);
|
||||
|
||||
addSample(
|
||||
'Z___special-chars',
|
||||
'text/plain',
|
||||
[
|
||||
'// single line \u000D comment', // Carriage return
|
||||
'// single line \u2028 comment', // Line separator
|
||||
'// single line \u2029 comment' // Paragraph separator
|
||||
].join('\n')
|
||||
);
|
||||
|
||||
// http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
|
||||
addSample(
|
||||
'Z___invalid-unicode',
|
||||
'text/plain',
|
||||
[
|
||||
'\uFFFE\uFFFF',
|
||||
'\uD800\uDC00',
|
||||
'\uD800\uDFFF',
|
||||
'\uDB7F\uDC00',
|
||||
'\uDB7F\uDFFF',
|
||||
'\uDB80\uDC00',
|
||||
'\uDB80\uDFFF',
|
||||
'\uDBFF\uDC00',
|
||||
'\uDBFF\uDFFF'
|
||||
].join('\n')
|
||||
);
|
||||
|
||||
addSample(
|
||||
'Z___easy-debug.js',
|
||||
'text/plain',
|
||||
(function () {
|
||||
var myValue = 'Line1';
|
||||
for (var i = 2; i < 50; i++) {
|
||||
myValue += '\nLine' + i;
|
||||
}
|
||||
return myValue;
|
||||
})()
|
||||
);
|
||||
|
||||
addSample(
|
||||
'Z___copy-paste.txt',
|
||||
'text/plain',
|
||||
(function () {
|
||||
var i = 0,
|
||||
sampleCopyPasteLine = '';
|
||||
while (sampleCopyPasteLine.length < 1000) {
|
||||
i++;
|
||||
sampleCopyPasteLine += i;
|
||||
}
|
||||
var sampleCopyPaste = sampleCopyPasteLine;
|
||||
for (i = 1; i <= 600; i++) {
|
||||
sampleCopyPaste += '\n' + sampleCopyPasteLine;
|
||||
}
|
||||
return sampleCopyPaste;
|
||||
})()
|
||||
);
|
||||
|
||||
addSample(
|
||||
'Z___xss',
|
||||
'text/html',
|
||||
(function () {
|
||||
var xssRepresentations = [
|
||||
'<',
|
||||
'BAD\u2028CHARACTER',
|
||||
'%3C',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'<',
|
||||
'\x3c',
|
||||
'\x3C',
|
||||
'\u003c',
|
||||
'\u003C'
|
||||
];
|
||||
return xssRepresentations.length + ':\n' + xssRepresentations.join('\n');
|
||||
})()
|
||||
);
|
||||
|
||||
addSample(
|
||||
'Z___many-links.js',
|
||||
'text/javascript',
|
||||
(function () {
|
||||
var result = 'bla bla a url: https://microsoft.com some more bla bla';
|
||||
for (var i = 0; i < 13; ++i) {
|
||||
result += '\n' + result;
|
||||
}
|
||||
return '/*' + result + '\n*/';
|
||||
})()
|
||||
);
|
||||
|
||||
addSample(
|
||||
'Z___line-separators.js',
|
||||
'text/javascript',
|
||||
(function () {
|
||||
return [
|
||||
"var x = '1'; // And\u2028 here I have a nice comment.",
|
||||
'',
|
||||
"var y = x + ' +\u2028 2 = res';",
|
||||
'',
|
||||
"y.replace(/re\u2028s/gi, '3');"
|
||||
].join('\n');
|
||||
})()
|
||||
);
|
||||
|
||||
addXHRSample('Z___intellisense.js', 'run-editor-intellisense-js.txt', 'text/javascript');
|
||||
|
||||
addSample(
|
||||
'Z___recursion attack',
|
||||
'text/html',
|
||||
(function () {
|
||||
var arr = [];
|
||||
for (var i = 0; i < 10000; i++) {
|
||||
arr.push('\n<script type="text/html">');
|
||||
}
|
||||
return arr.length + ':\n' + arr.join('');
|
||||
})()
|
||||
);
|
||||
|
||||
addSample('empty', 'text/plain', '');
|
||||
|
||||
addXHRSample('Z___dynamic', 'run-editor-sample-dynamic.txt', {
|
||||
name: 'custom.1.',
|
||||
tokenizer: {
|
||||
root: [
|
||||
[/\[error.*/, 'custom-error'],
|
||||
[/\[notice.*/, 'custom-notice'],
|
||||
[/\[info.*/, 'custom-info'],
|
||||
[/\[[a-zA-Z 0-9:]+\]/, 'custom-date']
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
addXHRSample('Z___f12___css', 'run-editor-sample-f12-css.txt', 'text/css');
|
||||
|
||||
return samples;
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue