Commit 2b7d0ab4 authored by Colin Eberhardt's avatar Colin Eberhardt

Frameworks that deviate significantly from the spec are now excluded

get and polymer are not easily tested with this generic test suite. They are now excluded explicitly so that they do not 'pollute' the knownIssues file.
parent 4beba8b5
......@@ -6,6 +6,10 @@ var argv = require('optimist').default('laxMode', false).argv;
var rootUrl = 'http://localhost:8000/';
var frameworkNamePattern = /^[a-z-_]+$/;
// these implementations deviate from the specification to such an extent that they are
// not worth testing via a generic mecanism
var excludedFrameworks = ['gwt', 'polymer'];
// collect together the framework names from each of the subfolders
var list = fs.readdirSync('../architecture-examples/')
.map(function (folderName) {
......@@ -31,7 +35,6 @@ var list = fs.readdirSync('../architecture-examples/')
var exceptions = [
{ name: 'chaplin-brunch', path: 'labs/dependency-examples/chaplin-brunch/public' }
];
list = list.map(function (framework) {
var exception = exceptions.filter(function (exFramework) {
return exFramework.name === framework.name;
......@@ -44,11 +47,20 @@ list = list.filter(function (framework) {
return frameworkNamePattern.test(framework.name);
});
// filter out un-supported implementations
list = list.filter(function (framework) {
return excludedFrameworks.indexOf(framework.name) === -1;
});
// if a specific framework has been named, just run this one
if (argv.framework) {
list = list.filter(function (framework) {
return framework.name === argv.framework;
});
if(list.length === 0) {
console.log('You have either requested an unknown or an un-supported framework');
}
}
// run the tests for each framework
......
......@@ -37,62 +37,5 @@ module.exports = [
// for some reason the persistence test fails for knockout, even though persistence is working
// just fine. Perhaps there is something asynchronous going on that is causing the assert
// to be executed early?
'TodoMVC - knockoutjs, Persistence, should persist its data',
// ----------------- Unsupported implementations!! -----------
// the following are TodoMVC implementations that are not supported by the autoated UI
// tests, and as a result have numerous failures.
// polymer - does not follow the HTML spec
'TodoMVC - polymer, New Todo, should allow me to add todo items',
'TodoMVC - polymer, New Todo, should clear text input field when an item is added',
'TodoMVC - polymer, New Todo, should trim text input',
'TodoMVC - polymer, New Todo, should show #main and #footer when items added',
'TodoMVC - polymer, Mark all as completed, should allow me to mark all items as completed',
'TodoMVC - polymer, Mark all as completed, should allow me to clear the completion state of all items',
'TodoMVC - polymer, Mark all as completed, complete all checkbox should update state when items are completed / cleared',
'TodoMVC - polymer, Item, should allow me to mark items as complete',
'TodoMVC - polymer, Item, should allow me to un-mark items as complete',
'TodoMVC - polymer, Item, should allow me to edit an item',
'TodoMVC - polymer, Editing, should hide other controls when editing',
'TodoMVC - polymer, Editing, should save edits on enter',
'TodoMVC - polymer, Editing, should save edits on blur',
'TodoMVC - polymer, Editing, should trim entered text',
'TodoMVC - polymer, Editing, should remove the item if an empty text string was entered',
'TodoMVC - polymer, Editing, should cancel edits on escape',
'TodoMVC - polymer, Counter, should display the current number of todo items',
'TodoMVC - polymer, Clear completed button, should display the number of completed items',
'TodoMVC - polymer, Clear completed button, should remove completed items when clicked',
'TodoMVC - polymer, Clear completed button, should be hidden when there are no items that are completed',
'TodoMVC - polymer, Persistence, should persist its data',
'TodoMVC - polymer, Routing, should allow me to display active items',
'TodoMVC - polymer, Routing, should allow me to display completed items',
'TodoMVC - polymer, Routing, should allow me to display all items',
'TodoMVC - polymer, Routing, should highlight the currently applied filter',
// gwt - does not follow the HTML spec closely eough for testing
'TodoMVC - gwt, New Todo, should allow me to add todo items',
'TodoMVC - gwt, New Todo, should trim text input',
'TodoMVC - gwt, Mark all as completed, should allow me to mark all items as completed',
'TodoMVC - gwt, Mark all as completed, should allow me to clear the completion state of all items',
'TodoMVC - gwt, Mark all as completed, complete all checkbox should update state when items are completed / cleared',
'TodoMVC - gwt, Item, should allow me to mark items as complete',
'TodoMVC - gwt, Item, should allow me to un-mark items as complete',
'TodoMVC - gwt, Item, should allow me to edit an item',
'TodoMVC - gwt, Editing, should hide other controls when editing',
'TodoMVC - gwt, Editing, should save edits on enter',
'TodoMVC - gwt, Editing, should save edits on blur',
'TodoMVC - gwt, Editing, should trim entered text',
'TodoMVC - gwt, Editing, should remove the item if an empty text string was entered',
'TodoMVC - gwt, Editing, should cancel edits on escape',
'TodoMVC - gwt, Clear completed button, should display the number of completed items',
'TodoMVC - gwt, Clear completed button, should remove completed items when clicked',
'TodoMVC - gwt, Clear completed button, should be hidden when there are no items that are completed',
'TodoMVC - gwt, Persistence, should persist its data',
'TodoMVC - gwt, Routing, should allow me to display active items',
'TodoMVC - gwt, Routing, should allow me to display completed items',
'TodoMVC - gwt, Routing, should allow me to display all items',
'TodoMVC - gwt, Routing, should highlight the currently applied filter',
'TodoMVC - knockoutjs, Persistence, should persist its data'
];
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment