michael@0: /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim: set ts=2 sw=2 sts=2 et: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /* Lists of valid & invalid values for the various attributes */ michael@0: const gValidValues = [ michael@0: "10 10", michael@0: "10 10;", // Trailing semicolons are allowed michael@0: "10 10; ", michael@0: " 10 10em ", michael@0: "1 2 ; 3,4", michael@0: "1,2;3,4", michael@0: "0 0", michael@0: "0,0", michael@0: ]; michael@0: michael@0: const gInvalidValues = [ michael@0: ";10 10", michael@0: "10 10;;", michael@0: "1 2 3", michael@0: "1 2 3 4", michael@0: "1,2;3,4 ,", michael@0: ",", " , ", michael@0: ";", " ; ", michael@0: "a", " a; ", ";a;", michael@0: "", " ", michael@0: "1,2;3,4,", michael@0: "1,,2", michael@0: ",1,2", michael@0: ]; michael@0: michael@0: const gValidRotate = [ michael@0: "10", michael@0: "20.1", michael@0: "30.5deg", michael@0: "0.5rad", michael@0: "auto", michael@0: "auto-reverse" michael@0: ]; michael@0: michael@0: const gInvalidRotate = [ michael@0: " 10 ", michael@0: " 10deg", michael@0: "10 deg", michael@0: "10deg ", michael@0: "10 rad ", michael@0: "aaa", michael@0: " 10.1 ", michael@0: ]; michael@0: michael@0: const gValidToBy = [ michael@0: "0 0", michael@0: "1em,2", michael@0: "50.3em 0.2in", michael@0: " 1,2", michael@0: "1 2 " michael@0: ]; michael@0: michael@0: const gInvalidToBy = [ michael@0: "0 0 0", michael@0: "0 0,0", michael@0: "0,0,0", michael@0: "1emm 2", michael@0: "1 2;", michael@0: "1 2,", michael@0: " 1,2 ,", michael@0: "abc", michael@0: ",", michael@0: "", michael@0: "1,,2", michael@0: "1,2," michael@0: ]; michael@0: michael@0: const gValidPath = [ michael@0: "m0 0 L30 30", michael@0: "M20,20L10 10", michael@0: "M20,20 L30, 30h20", michael@0: "m50 50", "M50 50", michael@0: "m0 0", "M0, 0" michael@0: ]; michael@0: michael@0: // paths must start with at least a valid "M" segment to be valid michael@0: const gInvalidPath = [ michael@0: "M20in 20", michael@0: "h30", michael@0: "L50 50", michael@0: "abc", michael@0: ]; michael@0: michael@0: // paths that at least start with a valid "M" segment are valid - the spec says michael@0: // to parse everything up to the first invalid token michael@0: const gValidPathWithErrors = [ michael@0: "M20 20em", michael@0: "m0 0 L30,,30", michael@0: "M10 10 L50 50 abc", michael@0: ]; michael@0: michael@0: const gValidKeyPoints = [ michael@0: "0; 0.5; 1", michael@0: "0;.5;1", michael@0: "0; 0; 1", michael@0: "0; 1; 1", michael@0: "0; 0; 1;", // Trailing semicolons are allowed michael@0: "0; 0; 1; ", michael@0: "0; 0.000; 1", michael@0: "0; 0.000001; 1", michael@0: ]; michael@0: michael@0: // Should have 3 values to be valid. michael@0: // Same as number of keyTimes values michael@0: const gInvalidKeyPoints = [ michael@0: "0; 1", michael@0: "0; 0.5; 0.75; 1", michael@0: "0; 1;", michael@0: "0", michael@0: "1", michael@0: "a", michael@0: "", michael@0: " ", michael@0: "0; -0.1; 1", michael@0: "0; 1.1; 1", michael@0: "0; 0.1; 1.1", michael@0: "-0.1; 0.1; 1", michael@0: "0; a; 1", michael@0: "0;;1", michael@0: ];