/// Constructor // new Rectangle() (top=0, right=0, bottom=0, left=0, topLeft=(x=0, y=0), bottomRight=(x=0, y=0), width=0, height=0, size=(x=0, y=0), x=0, y=0) // new Rectangle(1) (top=undefined, right=NaN, bottom=NaN, left=1, topLeft=(x=1, y=undefined), bottomRight=(x=NaN, y=NaN), width=undefined, height=undefined, size=(x=undefined, y=undefined), x=1, y=undefined) // new Rectangle(1, 2) (top=2, right=NaN, bottom=NaN, left=1, topLeft=(x=1, y=2), bottomRight=(x=NaN, y=NaN), width=undefined, height=undefined, size=(x=undefined, y=undefined), x=1, y=2) // new Rectangle(1, 2, 3) (top=2, right=4, bottom=NaN, left=1, topLeft=(x=1, y=2), bottomRight=(x=4, y=NaN), width=3, height=undefined, size=(x=3, y=undefined), x=1, y=2) // new Rectangle(1, 2, 3, 4) (top=2, right=4, bottom=6, left=1, topLeft=(x=1, y=2), bottomRight=(x=4, y=6), width=3, height=4, size=(x=3, y=4), x=1, y=2) // new Rectangle({}) (top=undefined, right=NaN, bottom=NaN, left=[object Object], topLeft=(x=[object Object], y=undefined), bottomRight=(x=NaN, y=NaN), width=undefined, height=undefined, size=(x=undefined, y=undefined), x=[object Object], y=undefined) /// top // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.top = 0 (top=0, right=6, bottom=10, left=1, topLeft=(x=1, y=0), bottomRight=(x=6, y=10), width=5, height=10, size=(x=5, y=10), x=1, y=0) // rect.top = 100 (top=100, right=6, bottom=10, left=1, topLeft=(x=1, y=100), bottomRight=(x=6, y=10), width=5, height=-90, size=(x=5, y=-90), x=1, y=100) // rect.top = -200 (top=-200, right=6, bottom=10, left=1, topLeft=(x=1, y=-200), bottomRight=(x=6, y=10), width=5, height=210, size=(x=5, y=210), x=1, y=-200) // rect.top = NaN (top=NaN, right=6, bottom=NaN, left=1, topLeft=(x=1, y=NaN), bottomRight=(x=6, y=NaN), width=5, height=NaN, size=(x=5, y=NaN), x=1, y=NaN) // rect.top = [object Object] (top=[object Object], right=6, bottom=NaN, left=1, topLeft=(x=1, y=[object Object]), bottomRight=(x=6, y=NaN), width=5, height=NaN, size=(x=5, y=NaN), x=1, y=[object Object]) // rect.top = Infinity (top=Infinity, right=6, bottom=NaN, left=1, topLeft=(x=1, y=Infinity), bottomRight=(x=6, y=NaN), width=5, height=-Infinity, size=(x=5, y=-Infinity), x=1, y=Infinity) // rect.top = undefined (top=undefined, right=6, bottom=NaN, left=1, topLeft=(x=1, y=undefined), bottomRight=(x=6, y=NaN), width=5, height=NaN, size=(x=5, y=NaN), x=1, y=undefined) /// right // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.right = 0 (top=3, right=0, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=0, y=10), width=-1, height=7, size=(x=-1, y=7), x=1, y=3) // rect.right = 100 (top=3, right=100, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=100, y=10), width=99, height=7, size=(x=99, y=7), x=1, y=3) // rect.right = -200 (top=3, right=-200, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=-200, y=10), width=-201, height=7, size=(x=-201, y=7), x=1, y=3) // rect.right = NaN (top=3, right=NaN, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=10), width=NaN, height=7, size=(x=NaN, y=7), x=1, y=3) // rect.right = [object Object] (top=3, right=NaN, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=10), width=NaN, height=7, size=(x=NaN, y=7), x=1, y=3) // rect.right = Infinity (top=3, right=Infinity, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=Infinity, y=10), width=Infinity, height=7, size=(x=Infinity, y=7), x=1, y=3) // rect.right = undefined (top=3, right=NaN, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=10), width=NaN, height=7, size=(x=NaN, y=7), x=1, y=3) /// left // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.left = 0 (top=3, right=6, bottom=10, left=0, topLeft=(x=0, y=3), bottomRight=(x=6, y=10), width=6, height=7, size=(x=6, y=7), x=0, y=3) // rect.left = 100 (top=3, right=6, bottom=10, left=100, topLeft=(x=100, y=3), bottomRight=(x=6, y=10), width=-94, height=7, size=(x=-94, y=7), x=100, y=3) // rect.left = -200 (top=3, right=6, bottom=10, left=-200, topLeft=(x=-200, y=3), bottomRight=(x=6, y=10), width=206, height=7, size=(x=206, y=7), x=-200, y=3) // rect.left = NaN (top=3, right=NaN, bottom=10, left=NaN, topLeft=(x=NaN, y=3), bottomRight=(x=NaN, y=10), width=NaN, height=7, size=(x=NaN, y=7), x=NaN, y=3) // rect.left = [object Object] (top=3, right=NaN, bottom=10, left=[object Object], topLeft=(x=[object Object], y=3), bottomRight=(x=NaN, y=10), width=NaN, height=7, size=(x=NaN, y=7), x=[object Object], y=3) // rect.left = Infinity (top=3, right=NaN, bottom=10, left=Infinity, topLeft=(x=Infinity, y=3), bottomRight=(x=NaN, y=10), width=-Infinity, height=7, size=(x=-Infinity, y=7), x=Infinity, y=3) // rect.left = undefined (top=3, right=NaN, bottom=10, left=undefined, topLeft=(x=undefined, y=3), bottomRight=(x=NaN, y=10), width=NaN, height=7, size=(x=NaN, y=7), x=undefined, y=3) /// bottom // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.bottom = 0 (top=3, right=6, bottom=0, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=0), width=5, height=-3, size=(x=5, y=-3), x=1, y=3) // rect.bottom = 100 (top=3, right=6, bottom=100, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=100), width=5, height=97, size=(x=5, y=97), x=1, y=3) // rect.bottom = -200 (top=3, right=6, bottom=-200, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=-200), width=5, height=-203, size=(x=5, y=-203), x=1, y=3) // rect.bottom = NaN (top=3, right=6, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=NaN), width=5, height=NaN, size=(x=5, y=NaN), x=1, y=3) // rect.bottom = [object Object] (top=3, right=6, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=NaN), width=5, height=NaN, size=(x=5, y=NaN), x=1, y=3) // rect.bottom = Infinity (top=3, right=6, bottom=Infinity, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=Infinity), width=5, height=Infinity, size=(x=5, y=Infinity), x=1, y=3) // rect.bottom = undefined (top=3, right=6, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=NaN), width=5, height=NaN, size=(x=5, y=NaN), x=1, y=3) /// width // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.width = 0 (top=3, right=1, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=1, y=10), width=0, height=7, size=(x=0, y=7), x=1, y=3) // rect.width = 100 (top=3, right=101, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=101, y=10), width=100, height=7, size=(x=100, y=7), x=1, y=3) // rect.width = -200 (top=3, right=-199, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=-199, y=10), width=-200, height=7, size=(x=-200, y=7), x=1, y=3) // rect.width = NaN (top=3, right=NaN, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=10), width=NaN, height=7, size=(x=NaN, y=7), x=1, y=3) // rect.width = [object Object] (top=3, right=NaN, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=10), width=[object Object], height=7, size=(x=[object Object], y=7), x=1, y=3) // rect.width = Infinity (top=3, right=Infinity, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=Infinity, y=10), width=Infinity, height=7, size=(x=Infinity, y=7), x=1, y=3) // rect.width = undefined (top=3, right=NaN, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=10), width=undefined, height=7, size=(x=undefined, y=7), x=1, y=3) /// height // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.height = 0 (top=3, right=6, bottom=3, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=3), width=5, height=0, size=(x=5, y=0), x=1, y=3) // rect.height = 100 (top=3, right=6, bottom=103, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=103), width=5, height=100, size=(x=5, y=100), x=1, y=3) // rect.height = -200 (top=3, right=6, bottom=-197, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=-197), width=5, height=-200, size=(x=5, y=-200), x=1, y=3) // rect.height = NaN (top=3, right=6, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=NaN), width=5, height=NaN, size=(x=5, y=NaN), x=1, y=3) // rect.height = [object Object] (top=3, right=6, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=NaN), width=5, height=[object Object], size=(x=5, y=[object Object]), x=1, y=3) // rect.height = Infinity (top=3, right=6, bottom=Infinity, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=Infinity), width=5, height=Infinity, size=(x=5, y=Infinity), x=1, y=3) // rect.height = undefined (top=3, right=6, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=NaN), width=5, height=undefined, size=(x=5, y=undefined), x=1, y=3) /// x // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.x = 0 (top=3, right=5, bottom=10, left=0, topLeft=(x=0, y=3), bottomRight=(x=5, y=10), width=5, height=7, size=(x=5, y=7), x=0, y=3) // rect.x = 100 (top=3, right=105, bottom=10, left=100, topLeft=(x=100, y=3), bottomRight=(x=105, y=10), width=5, height=7, size=(x=5, y=7), x=100, y=3) // rect.x = -200 (top=3, right=-195, bottom=10, left=-200, topLeft=(x=-200, y=3), bottomRight=(x=-195, y=10), width=5, height=7, size=(x=5, y=7), x=-200, y=3) // rect.x = NaN (top=3, right=NaN, bottom=10, left=NaN, topLeft=(x=NaN, y=3), bottomRight=(x=NaN, y=10), width=5, height=7, size=(x=5, y=7), x=NaN, y=3) // rect.x = [object Object] (top=3, right=NaN, bottom=10, left=[object Object], topLeft=(x=[object Object], y=3), bottomRight=(x=NaN, y=10), width=5, height=7, size=(x=5, y=7), x=[object Object], y=3) // rect.x = Infinity (top=3, right=Infinity, bottom=10, left=Infinity, topLeft=(x=Infinity, y=3), bottomRight=(x=Infinity, y=10), width=5, height=7, size=(x=5, y=7), x=Infinity, y=3) // rect.x = undefined (top=3, right=NaN, bottom=10, left=undefined, topLeft=(x=undefined, y=3), bottomRight=(x=NaN, y=10), width=5, height=7, size=(x=5, y=7), x=undefined, y=3) /// y // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.y = 0 (top=0, right=6, bottom=7, left=1, topLeft=(x=1, y=0), bottomRight=(x=6, y=7), width=5, height=7, size=(x=5, y=7), x=1, y=0) // rect.y = 100 (top=100, right=6, bottom=107, left=1, topLeft=(x=1, y=100), bottomRight=(x=6, y=107), width=5, height=7, size=(x=5, y=7), x=1, y=100) // rect.y = -200 (top=-200, right=6, bottom=-193, left=1, topLeft=(x=1, y=-200), bottomRight=(x=6, y=-193), width=5, height=7, size=(x=5, y=7), x=1, y=-200) // rect.y = NaN (top=NaN, right=6, bottom=NaN, left=1, topLeft=(x=1, y=NaN), bottomRight=(x=6, y=NaN), width=5, height=7, size=(x=5, y=7), x=1, y=NaN) // rect.y = [object Object] (top=[object Object], right=6, bottom=NaN, left=1, topLeft=(x=1, y=[object Object]), bottomRight=(x=6, y=NaN), width=5, height=7, size=(x=5, y=7), x=1, y=[object Object]) // rect.y = Infinity (top=Infinity, right=6, bottom=Infinity, left=1, topLeft=(x=1, y=Infinity), bottomRight=(x=6, y=Infinity), width=5, height=7, size=(x=5, y=7), x=1, y=Infinity) // rect.y = undefined (top=undefined, right=6, bottom=NaN, left=1, topLeft=(x=1, y=undefined), bottomRight=(x=6, y=NaN), width=5, height=7, size=(x=5, y=7), x=1, y=undefined) /// topLeft // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.topLeft = (x=0, y=0) (top=0, right=6, bottom=10, left=0, topLeft=(x=0, y=0), bottomRight=(x=6, y=10), width=6, height=10, size=(x=6, y=10), x=0, y=0) // rect.topLeft = (x=-100, y=-200) (top=-200, right=6, bottom=10, left=-100, topLeft=(x=-100, y=-200), bottomRight=(x=6, y=10), width=106, height=210, size=(x=106, y=210), x=-100, y=-200) // rect.topLeft = (x=100, y=200) (top=200, right=6, bottom=10, left=100, topLeft=(x=100, y=200), bottomRight=(x=6, y=10), width=-94, height=-190, size=(x=-94, y=-190), x=100, y=200) // rect.topLeft = [object Object] (top=-50, right=6, bottom=10, left=50, topLeft=(x=50, y=-50), bottomRight=(x=6, y=10), width=-44, height=60, size=(x=-44, y=60), x=50, y=-50) // rect.topLeft = (x=Infinity, y=Infinity) (top=Infinity, right=NaN, bottom=NaN, left=Infinity, topLeft=(x=Infinity, y=Infinity), bottomRight=(x=NaN, y=NaN), width=-Infinity, height=-Infinity, size=(x=-Infinity, y=-Infinity), x=Infinity, y=Infinity) // rect.topLeft = (x=NaN, y=NaN) (top=NaN, right=NaN, bottom=NaN, left=NaN, topLeft=(x=NaN, y=NaN), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=NaN, y=NaN) // rect.topLeft = undefined (top=undefined, right=NaN, bottom=NaN, left=undefined, topLeft=(x=undefined, y=undefined), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=undefined, y=undefined) // rect.topLeft = 100 (top=undefined, right=NaN, bottom=NaN, left=undefined, topLeft=(x=undefined, y=undefined), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=undefined, y=undefined) /// bottomRight // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.bottomRight = (x=0, y=0) (top=3, right=0, bottom=0, left=1, topLeft=(x=1, y=3), bottomRight=(x=0, y=0), width=-1, height=-3, size=(x=-1, y=-3), x=1, y=3) // rect.bottomRight = (x=-100, y=-200) (top=3, right=-100, bottom=-200, left=1, topLeft=(x=1, y=3), bottomRight=(x=-100, y=-200), width=-101, height=-203, size=(x=-101, y=-203), x=1, y=3) // rect.bottomRight = (x=100, y=200) (top=3, right=100, bottom=200, left=1, topLeft=(x=1, y=3), bottomRight=(x=100, y=200), width=99, height=197, size=(x=99, y=197), x=1, y=3) // rect.bottomRight = [object Object] (top=3, right=50, bottom=-50, left=1, topLeft=(x=1, y=3), bottomRight=(x=50, y=-50), width=49, height=-53, size=(x=49, y=-53), x=1, y=3) // rect.bottomRight = (x=Infinity, y=Infinity) (top=3, right=Infinity, bottom=Infinity, left=1, topLeft=(x=1, y=3), bottomRight=(x=Infinity, y=Infinity), width=Infinity, height=Infinity, size=(x=Infinity, y=Infinity), x=1, y=3) // rect.bottomRight = (x=NaN, y=NaN) (top=3, right=NaN, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=1, y=3) // rect.bottomRight = undefined (top=3, right=NaN, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=1, y=3) // rect.bottomRight = 100 (top=3, right=NaN, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=1, y=3) /// size // before modifications (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.size = (x=0, y=0) (top=3, right=1, bottom=3, left=1, topLeft=(x=1, y=3), bottomRight=(x=1, y=3), width=0, height=0, size=(x=0, y=0), x=1, y=3) // rect.size = (x=-100, y=-200) (top=3, right=-99, bottom=-197, left=1, topLeft=(x=1, y=3), bottomRight=(x=-99, y=-197), width=-100, height=-200, size=(x=-100, y=-200), x=1, y=3) // rect.size = (x=100, y=200) (top=3, right=101, bottom=203, left=1, topLeft=(x=1, y=3), bottomRight=(x=101, y=203), width=100, height=200, size=(x=100, y=200), x=1, y=3) // rect.size = [object Object] (top=3, right=51, bottom=-47, left=1, topLeft=(x=1, y=3), bottomRight=(x=51, y=-47), width=50, height=-50, size=(x=50, y=-50), x=1, y=3) // rect.size = (x=Infinity, y=Infinity) (top=3, right=Infinity, bottom=Infinity, left=1, topLeft=(x=1, y=3), bottomRight=(x=Infinity, y=Infinity), width=Infinity, height=Infinity, size=(x=Infinity, y=Infinity), x=1, y=3) // rect.size = (x=NaN, y=NaN) (top=3, right=NaN, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=1, y=3) // rect.size = undefined (top=3, right=NaN, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=NaN), width=undefined, height=undefined, size=(x=undefined, y=undefined), x=1, y=3) // rect.size = 100 (top=3, right=NaN, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=NaN, y=NaN), width=undefined, height=undefined, size=(x=undefined, y=undefined), x=1, y=3) /// clone // orig (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // cloned (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // orig == cloned false // orig.equals(cloned) true /// equals // orig (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // orig.equals(new Rectangle(1, 3, 5, 7)) true // orig.equals({x: 1, y: 3, width: 5, height: 7}) false /// isEmpty // new Rectangle().isEmpty() true // new Rectangle(0, 0, 0, 0).isEmpty() true // new Rectangle(1, 2, 3, 0).isEmpty() true // new Rectangle(1, 2, 0, 4).isEmpty() true // new Rectangle(1, 2, 3, 4).isEmpty() false // new Rectangle(1, 2, Infinity, Infinity).isEmpty() false // new Rectangle(1, 2, NaN, NaN).isEmpty() true // new Rectangle(1, 2, undefined, undefined).isEmpty() true /// setEmpty // orig (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // orig.setEmpty() undefined // orig (top=0, right=0, bottom=0, left=0, topLeft=(x=0, y=0), bottomRight=(x=0, y=0), width=0, height=0, size=(x=0, y=0), x=0, y=0) /// contains // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.contains() undefined // rect.contains(1) undefined // rect.contains(1, 2) false // rect.contains(1, 3) true // rect.contains(1.1, 3.1) true // rect.contains(6, 10) false // rect.contains(5.9, 9.9) true // rect.contains(4, NaN) undefined // rect.contains(undefined, 5) undefined // rect.contains(5, 5) true // rect.contains(5, Infinity) false /// containsPoint // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.containsPoint((x=0, y=0)) false // rect.containsPoint((x=1, y=undefined)) undefined // rect.containsPoint((x=1, y=2)) false // rect.containsPoint((x=1, y=3)) true // rect.containsPoint((x=1.1, y=3.1)) true // rect.containsPoint((x=6, y=10)) false // rect.containsPoint((x=5.9, y=9.9)) true // rect.containsPoint((x=undefined, y=5)) undefined // rect.containsPoint([object Object]) false // rect.containsPoint([object Object]) true /// containsRectangle // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.containsRectangle() undefined // rect.containsRectangle((x=1, y=3, w=5, h=7)) true // rect.containsRectangle((x=0.9, y=2.9, w=5, h=7)) false // rect.containsRectangle((x=1, y=3, w=5.1, h=7.1)) false // rect.containsRectangle((x=2, y=undefined, w=1, h=1)) undefined // rect.containsRectangle((x=5, y=5, w=NaN, h=1)) undefined // rect.containsRectangle([object Object]) true // rect.containsRectangle([object Object]) undefined /// inflate // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.inflate() undefined // rect (top=NaN, right=NaN, bottom=NaN, left=NaN, topLeft=(x=NaN, y=NaN), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=NaN, y=NaN) // rect.inflate(1) undefined // rect (top=NaN, right=7, bottom=NaN, left=0, topLeft=(x=0, y=NaN), bottomRight=(x=7, y=NaN), width=7, height=NaN, size=(x=7, y=NaN), x=0, y=NaN) // rect.inflate(1, 2) undefined // rect (top=1, right=7, bottom=12, left=0, topLeft=(x=0, y=1), bottomRight=(x=7, y=12), width=7, height=11, size=(x=7, y=11), x=0, y=1) // rect.inflate(-3, -4) undefined // rect (top=7, right=3, bottom=6, left=4, topLeft=(x=4, y=7), bottomRight=(x=3, y=6), width=-1, height=-1, size=(x=-1, y=-1), x=4, y=7) // rect.inflate(Infinity, 5) undefined // rect (top=-2, right=NaN, bottom=15, left=-Infinity, topLeft=(x=-Infinity, y=-2), bottomRight=(x=NaN, y=15), width=Infinity, height=17, size=(x=Infinity, y=17), x=-Infinity, y=-2) // rect.inflate(5, NaN) undefined // rect (top=NaN, right=11, bottom=NaN, left=-4, topLeft=(x=-4, y=NaN), bottomRight=(x=11, y=NaN), width=15, height=NaN, size=(x=15, y=NaN), x=-4, y=NaN) // rect.inflate(3, [object Object]) undefined // rect (top=NaN, right=9, bottom=NaN, left=-2, topLeft=(x=-2, y=NaN), bottomRight=(x=9, y=NaN), width=11, height=NaN, size=(x=11, y=NaN), x=-2, y=NaN) /// inflatePoint // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.inflatePoint() undefined // rect (top=NaN, right=NaN, bottom=NaN, left=NaN, topLeft=(x=NaN, y=NaN), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=NaN, y=NaN) // rect.inflatePoint((x=0, y=0)) undefined // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.inflatePoint((x=1, y=2)) undefined // rect (top=1, right=7, bottom=12, left=0, topLeft=(x=0, y=1), bottomRight=(x=7, y=12), width=7, height=11, size=(x=7, y=11), x=0, y=1) // rect.inflatePoint([object Object]) undefined // rect (top=-1, right=9, bottom=14, left=-2, topLeft=(x=-2, y=-1), bottomRight=(x=9, y=14), width=11, height=15, size=(x=11, y=15), x=-2, y=-1) // rect.inflatePoint([object Object]) undefined // rect (top=NaN, right=11, bottom=NaN, left=-4, topLeft=(x=-4, y=NaN), bottomRight=(x=11, y=NaN), width=15, height=NaN, size=(x=15, y=NaN), x=-4, y=NaN) /// intersection // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.intersection() (top=0, right=0, bottom=0, left=0, topLeft=(x=0, y=0), bottomRight=(x=0, y=0), width=0, height=0, size=(x=0, y=0), x=0, y=0) // rect.intersection((x=1, y=3, w=5, h=7)) (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.intersection((x=3, y=5, w=7, h=9)) (top=5, right=6, bottom=10, left=3, topLeft=(x=3, y=5), bottomRight=(x=6, y=10), width=3, height=5, size=(x=3, y=5), x=3, y=5) // rect.intersection((x=-1, y=-3, w=5, h=7)) (top=3, right=4, bottom=4, left=1, topLeft=(x=1, y=3), bottomRight=(x=4, y=4), width=3, height=1, size=(x=3, y=1), x=1, y=3) // rect.intersection([object Object]) (top=5, right=6, bottom=6, left=3, topLeft=(x=3, y=5), bottomRight=(x=6, y=6), width=3, height=1, size=(x=3, y=1), x=3, y=5) // rect.intersection([object Object]) (top=0, right=0, bottom=0, left=0, topLeft=(x=0, y=0), bottomRight=(x=0, y=0), width=0, height=0, size=(x=0, y=0), x=0, y=0) /// intersects // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.intersects() false // rect.intersects((x=1, y=3, w=5, h=7)) true // rect.intersects((x=3, y=5, w=7, h=9)) true // rect.intersects((x=-1, y=-3, w=5, h=7)) true // rect.intersects([object Object]) true // rect.intersects([object Object]) false /// offset // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.offset() undefined // rect (top=NaN, right=NaN, bottom=NaN, left=NaN, topLeft=(x=NaN, y=NaN), bottomRight=(x=NaN, y=NaN), width=5, height=7, size=(x=5, y=7), x=NaN, y=NaN) // rect.offset(1) undefined // rect (top=NaN, right=7, bottom=NaN, left=2, topLeft=(x=2, y=NaN), bottomRight=(x=7, y=NaN), width=5, height=7, size=(x=5, y=7), x=2, y=NaN) // rect.offset(1, 2) undefined // rect (top=5, right=7, bottom=12, left=2, topLeft=(x=2, y=5), bottomRight=(x=7, y=12), width=5, height=7, size=(x=5, y=7), x=2, y=5) // rect.offset(-3, -4) undefined // rect (top=-1, right=3, bottom=6, left=-2, topLeft=(x=-2, y=-1), bottomRight=(x=3, y=6), width=5, height=7, size=(x=5, y=7), x=-2, y=-1) // rect.offset(Infinity, 5) undefined // rect (top=8, right=Infinity, bottom=15, left=Infinity, topLeft=(x=Infinity, y=8), bottomRight=(x=Infinity, y=15), width=5, height=7, size=(x=5, y=7), x=Infinity, y=8) // rect.offset(5, NaN) undefined // rect (top=NaN, right=11, bottom=NaN, left=6, topLeft=(x=6, y=NaN), bottomRight=(x=11, y=NaN), width=5, height=7, size=(x=5, y=7), x=6, y=NaN) // rect.offset(3, [object Object]) undefined // rect (top=NaN, right=9, bottom=NaN, left=4, topLeft=(x=4, y=NaN), bottomRight=(x=9, y=NaN), width=5, height=7, size=(x=5, y=7), x=4, y=NaN) /// offsetPoint // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.offsetPoint() undefined // rect (top=NaN, right=NaN, bottom=NaN, left=NaN, topLeft=(x=NaN, y=NaN), bottomRight=(x=NaN, y=NaN), width=5, height=7, size=(x=5, y=7), x=NaN, y=NaN) // rect.offsetPoint((x=0, y=0)) undefined // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.offsetPoint((x=1, y=2)) undefined // rect (top=5, right=7, bottom=12, left=2, topLeft=(x=2, y=5), bottomRight=(x=7, y=12), width=5, height=7, size=(x=5, y=7), x=2, y=5) // rect.offsetPoint([object Object]) undefined // rect (top=7, right=9, bottom=14, left=4, topLeft=(x=4, y=7), bottomRight=(x=9, y=14), width=5, height=7, size=(x=5, y=7), x=4, y=7) // rect.offsetPoint([object Object]) undefined // rect (top=NaN, right=11, bottom=NaN, left=6, topLeft=(x=6, y=NaN), bottomRight=(x=11, y=NaN), width=5, height=7, size=(x=5, y=7), x=6, y=NaN) /// union // rect (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.union() (top=NaN, right=NaN, bottom=NaN, left=NaN, topLeft=(x=NaN, y=NaN), bottomRight=(x=NaN, y=NaN), width=NaN, height=NaN, size=(x=NaN, y=NaN), x=NaN, y=NaN) // rect.union((x=1, y=3, w=5, h=7)) (top=3, right=6, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=10), width=5, height=7, size=(x=5, y=7), x=1, y=3) // rect.union((x=3, y=5, w=7, h=9)) (top=3, right=10, bottom=14, left=1, topLeft=(x=1, y=3), bottomRight=(x=10, y=14), width=9, height=11, size=(x=9, y=11), x=1, y=3) // rect.union((x=-1, y=-3, w=5, h=7)) (top=-3, right=6, bottom=10, left=-1, topLeft=(x=-1, y=-3), bottomRight=(x=6, y=10), width=7, height=13, size=(x=7, y=13), x=-1, y=-3) // rect.union([object Object]) (top=3, right=10, bottom=10, left=1, topLeft=(x=1, y=3), bottomRight=(x=10, y=10), width=9, height=7, size=(x=9, y=7), x=1, y=3) // rect.union([object Object]) (top=3, right=6, bottom=NaN, left=1, topLeft=(x=1, y=3), bottomRight=(x=6, y=NaN), width=5, height=NaN, size=(x=5, y=NaN), x=1, y=3)