Skip to content

Instantly share code, notes, and snippets.

View thangman22's full-sized avatar

Warat Wongmaneekit thangman22

View GitHub Profile
// Test data
it('sets the correct default data', () => {
const defaultData = MyComponent.data()
expect(defaultData.message).toBe('hello!')
})
// Test method
it('message method working correct', () => {
const defaultData = MyComponent.methods
expect(defaultData.message()).toBe('hello!')
// Test element after render
it('renders the correct message', () => {
const Ctor = Vue.extend(MyComponent)
const vm = new Ctor().$mount()
expect(vm.$el.textContent).toBe('bye!')
vm.$el.querySelector('i.fa-smile-o').should.exist
})
//Test method after render
it('method work correctly', () => {
let documentIsHidden = false;
document.addEventListener('visibilitychange', () => {
// เช็คว่า หน้านี้ถูกซ่อนหรือเปิดอยู่ ตอนที่มี event visibilitychange trigger มา
documentIsHidden = document.hidden;
});
function update() {
if (!documentIsHidden) {
// Request server หรือ update ตามปกติถ้าเว็บเปิดอยู่
function a(){
return new Promise((resolve,reject) => {
resolve(res)
}
}
function b(){
return Promise.resolve(res)
}
async function c(){
return res
}
@thangman22
thangman22 / vue-custom-element.js
Created July 30, 2017 15:59
vue-custom-element.js
import Vue from 'vue'
// include vue-custom-element plugin to Vue
import VueCustomElement from 'vue-custom-element'
Vue.use(VueCustomElement)
// import and register your component(s)
import ShareButtonsComponent from './components/ShareButtonsComponent'
Vue.customElement('share-buttons', ShareButtonsComponent)
@thangman22
thangman22 / IntersectionObserver.js
Last active September 5, 2017 19:55
IntersectionObserver.js
// ประกาศสร้าง instance ของ IntersectionObserver พร้อมบอกด้วยว่า ก่อนแสดงผล 50 pixel ให้ trigger ไปหา callback
const contatiner = document.getElementById('image')
const observer = new IntersectionObserver(onIntersection, {rootMargin: '50px 0px'})
// บอกว่าให้เฝ้า id="image" เอาไว้
observer.observe(contatiner)
function onIntersection (entry) {
let element = entry[0]
import React from 'react';
import {
AppRegistry,
asset,
Pano,
Text,
View,
VrButton,
} from 'react-vr';
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="https://aframe.io/releases/0.7.0/aframe.min.js"></script>
<script>
AFRAME.registerComponent('change-sky', {
schema: {
skyUrl : {default: 'chess-world.jpg'}
},
init: function () {
let data = this.data;