84 lines
3.6 KiB
JavaScript
84 lines
3.6 KiB
JavaScript
/**
|
|
* libjass
|
|
*
|
|
* https://github.com/Arnavion/libjass
|
|
*
|
|
* Copyright 2013 Arnav Singh
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
define(["intern!tdd", "tests/support/parser-test", "libjass"], function (tdd, parserTest, libjass) {
|
|
tdd.suite("Primitives", function () {
|
|
tdd.suite("Color", function () {
|
|
tdd.test("Starts with &H", parserTest("&H3F171F&", "color", new libjass.parts.Color(31, 23, 63, 1)));
|
|
|
|
tdd.test("Starts with H", parserTest("&3F171F&", "color", new libjass.parts.Color(31, 23, 63, 1)));
|
|
|
|
tdd.test("Less than six digits", parserTest("&H71F&", "color", new libjass.parts.Color(31, 7, 0, 1)));
|
|
|
|
tdd.test("Eight digits", parserTest("&H3F171F00&", "color", new libjass.parts.Color(0, 31, 23, 1)));
|
|
|
|
tdd.test("Eight digits", parserTest("&H3F171FFF&", "color", new libjass.parts.Color(255, 31, 23, 1)));
|
|
|
|
tdd.test("More than eight digits", parserTest("&HAAAA3F171F00&", "color", new libjass.parts.Color(255, 255, 255, 1)));
|
|
|
|
tdd.test("More than eight digits", parserTest("&HAAAA3F171FFF&", "color", new libjass.parts.Color(255, 255, 255, 1)));
|
|
});
|
|
|
|
tdd.suite("Alpha", function () {
|
|
tdd.test("Starts with &H", parserTest("&HFF&", "alpha", 0));
|
|
|
|
tdd.test("Starts with &", parserTest("&FF&", "alpha", 0));
|
|
|
|
tdd.test("Starts with &H, one digit", parserTest("&HF&", "alpha", 1 - 15 / 255));
|
|
|
|
tdd.test("Starts with &H, one digit", parserTest("&H0&", "alpha", 1));
|
|
|
|
tdd.test("Starts with &, one digit", parserTest("&F&", "alpha", 1 - 15 / 255));
|
|
|
|
tdd.test("Starts with &, one digit", parserTest("&0&", "alpha", 1));
|
|
|
|
tdd.test("Starts with &H, doesn't end with &", parserTest("&HF&", "alpha", 1 - 15 / 255));
|
|
|
|
tdd.test("Starts with &H, doesn't end with &", parserTest("&H0&", "alpha", 1));
|
|
|
|
tdd.test("Starts with &, doesn't end with &", parserTest("&F", "alpha", 1 - 15 / 255));
|
|
|
|
tdd.test("Starts with &, doesn't end with &", parserTest("&0", "alpha", 1));
|
|
|
|
tdd.test("Doesn't start with &, doesn't end with &", parserTest("0", "alpha", 1));
|
|
|
|
tdd.test("Starts with H", parserTest("H0", "alpha", 1));
|
|
});
|
|
|
|
tdd.suite("ColorWithAlpha", function () {
|
|
tdd.test("Starts with &H", parserTest("&H00434441", "colorWithAlpha", new libjass.parts.Color(65, 68, 67, 1)));
|
|
|
|
tdd.test("Starts with &H, non-zero alpha", parserTest("&HF0434441", "colorWithAlpha", new libjass.parts.Color(65, 68, 67, 1 - 240 / 255)));
|
|
|
|
tdd.test("Starts with &H, zero alpha", parserTest("&HFF434441", "colorWithAlpha", new libjass.parts.Color(65, 68, 67, 0)));
|
|
|
|
tdd.test("Less than six digits", parserTest("&H71F", "colorWithAlpha", new libjass.parts.Color(31, 7, 0, 1)));
|
|
|
|
tdd.test("Eight digits", parserTest("&H3F171F00", "colorWithAlpha", new libjass.parts.Color(0, 31, 23, 1 - 63 / 255)));
|
|
|
|
tdd.test("Eight digits", parserTest("&H3F171FFF", "colorWithAlpha", new libjass.parts.Color(255, 31, 23, 1 - 63 / 255)));
|
|
|
|
tdd.test("More than eight digits", parserTest("&HAAAA3F171F00", "colorWithAlpha", new libjass.parts.Color(255, 255, 255, 0)));
|
|
|
|
tdd.test("More than eight digits", parserTest("&HAAAA3F171FFF", "colorWithAlpha", new libjass.parts.Color(255, 255, 255, 0)));
|
|
});
|
|
});
|
|
});
|