Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.greencatsoft.igs.chart
- import scala.scalajs.js.Any.{ fromBoolean, fromFunction0 }
- import org.scalajs.jquery.jQuery
- import com.greencatsoft.igs.NameSpaces.NamespaceChart
- import com.greencatsoft.igs.StyleClasses.{ ClassDesignTime, ClassHide }
- import com.greencatsoft.igs.any2JsAny
- import com.greencatsoft.igs.chart.StyleClasses.ClassLabel
- import com.greencatsoft.igs.datasource.BasicDataSource
- import com.greencatsoft.igs.hasClass
- object DialChartTest extends ChartTest {
- val minimal = s"""<?xml version="1.0" encoding="UTF-8" ?>
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:greencat="$NamespaceChart"
- width="400px" height="400px">
- <metadata>
- <greencat:chart type="dial" />
- </metadata>
- <rect x="0" y="0" width="400" height="400" fill="black" />
- <circle cx="200" cy="200" r="200" fill="white" />
- <rect x="199" y="100" width="2" height="100" fill="black" class="gc-plot">
- <circle cx="200" cy="200" r="10" fill="black" class="gc-axis" />
- <circle cx="200" cy="200" r="5" fill="red" class="gc-design" />
- </rect>
- <text x="180" y="300" class="gc-label">
- <tspan>100</tspan>
- </text>
- </svg>
- """
- describe("Dial chart") {
- it("can be constructed.") {
- val chart = Chart(appendSvg("test", minimal), new BasicDataSource[Int])
- expect(chart.isInstanceOf[SingleDialChart[_]]) toBe true
- }
- it("can be initialized.") {
- val chart = Chart(appendSvg("test", minimal), new BasicDataSource[Int])
- expect(chart.isInitialized) toBe false
- expect(() => chart.initialize()).not.toThrow
- expect(chart.isInitialized) toBe true
- }
- it("should hide design time elements after being initialized.") {
- val node = appendSvg("test", minimal)
- val chart = Chart(node, new BasicDataSource[Int])
- expect(hasClass(jQuery(s".$ClassDesignTime", node), ClassHide)) toBe false
- chart.initialize()
- expect(hasClass(jQuery(s".$ClassDesignTime", node), ClassHide)) toBe true
- }
- it("can be rendered.") {
- val chart = Chart(appendSvg("test", minimal), new BasicDataSource[Int])
- chart.initialize()
- expect(() => chart.render()).not.toThrow
- }
- it("should change its label text according to the value.") {
- val node = appendSvg("test", minimal)
- val dataSource = new BasicDataSource[Int]
- val chart = Chart(appendSvg("test", minimal), dataSource)
- scalajs.js.Dynamic.global.console.log(scalajs.js.Dynamic.global.document.body.innerHTML)
- expect(jQuery(s".$ClassLabel tspan", node).text) toBe "100"
- chart.initialize()
- chart.render()
- dataSource.value = 30
- expect(jQuery(s".$ClassLabel tspan", node).text) toBe "30"
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement