2025-05-03 23:48:15 +08:00
..
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00
2025-05-03 23:48:15 +08:00

Test Guide

Functional Test

Open ./*.html files in Web Browsers.

Unit Test

Rendering-relevant

Our test strategy is to compare the rendered canvas of current version with last release version. The comparison can either based on the content of rendered canvas, or the stack of canvas operations.

When a test case fails, it doesn't necessary to be a bug since the rendering method may be changed intentionally in a commit. So in this case, we output the rendering result of both versions and the diff result.

Make sure ../dist/echarts.js is the built based on current source files by:

cd ../build
npm install
node build.js

By default, we compare current version with last release version. To run the test, you should first download last release using:

cd ../test/ut
./configure

which will download echart.js of last release into ./ut/tmp/oldEcharts.js.

Then, open ./ut/ui.html in Web Browsers.

Compare current with a specific release

If one argument is passed, we take it as the hash code of a release and compare current version with /dist/echarts.js of the that version.

# this compares current `/dist/echarts.js` with that of v3.1.6
./configure 3724a16

Compare arbitrary two commits

Since /dist/echarts.js is only the build result of release versions, to compare arbitrary versions, you need to checkout specific commits and build the source files. Put the build results as ./tmp/oldEcharts.js and ./tmp/newEcharts.js will work.

Rendering-irrelevant

Open ./ut.html files in Web Browsers.